The MPEG Extensible Middleware API

27
MXM API Marius PREDA Institut TELECOM / ARTEMIS 1st International MPEG Extensible Middleware Developers Day (MXMDevDay) 2009 30 June, 2009, Queen Mary University London, UK

Transcript of The MPEG Extensible Middleware API

Page 1: The MPEG Extensible Middleware API

MXM API

Marius PREDAInstitut TELECOM / ARTEMIS

1st International MPEG Extensible MiddlewareDevelopers Day (MXMDevDay) 2009

30 June, 2009, Queen Mary University London, UK

Page 2: The MPEG Extensible Middleware API

Definition In computer science, an Application

Programming Interface (API) is an interface defining the ways by which an application program may request services from the libraries and/or operating systems which provide the services.

In MXM, services are MPEG functionalities and libraries are wrappers on top of encoders, decoders, parsers, …

Page 3: The MPEG Extensible Middleware API

functionalities

media

audio codec

video codec

compression

audio

video

Old, yet good MPEG time …

Page 4: The MPEG Extensible Middleware API

media

compre

ssion

audio

video

Nowadays, life is more complex

scene graph

graphics primitives

functionalities

descrip

tion

protecti

on

adaptation

Page 5: The MPEG Extensible Middleware API

Motivation of providing API MPEG specifications: huge amount of technology

157 standards in ISO/IEC 14496 (MPEG-4) family 43 standards in ISO/IEC 15938 (MPEG-7) family 33 standards in ISO/IEC 21000 (MPEG-21) family …

Around 11 000 pages, 1,5 m high when printed

However, majority of people developing MPEG related applications do not need to know that is inside the boxes, but only how to use it

Page 6: The MPEG Extensible Middleware API

How MXM prepared the packets?

3. Documenting the IN/OUT points in another … MPEG standard: 23006-2 MXM API

- only 37 pages , - around 500 methods

1. Creating wrapping libraries, called engines

2. Opening the engines at ESSENTIAL points only

Page 7: The MPEG Extensible Middleware API

What is currently accessible through the APIs?

MPEG-4 : MediaFrameworkEngine

MPEG-7 : MetadataEngine

MPEG-21 : Digital Item Engine, Digital Item Streaming Engine, Digital Item Adaptation Engine, MPEG-21 File Engine, REL Engine, IPMP Engine, Event Reporting Engine, Content Protocol Engine, License Protocol Engine, IPMP Tool Protocol Engine, Content Search Engine, Security Engine, MVCO Engine, Domain Engine,

Rendering Engine Orchestrator :

Digital Item Adaptation Orchestrator Engine IPMP Orchestrator Engine REL Orchestrator Engine Player Orchestrator Engine

Almost all the engines exposes Creation and Access methods

Page 8: The MPEG Extensible Middleware API

What is currently accessible through the APIs?

MPEG-4 : MediaFrameworkEngine

MPEG-7 : MetadataEngine

MPEG-21 : Digital Item Engine, Digital Item Streaming Engine, Digital Item Adaptation Engine, MPEG-21 File Engine, REL Engine, IPMP Engine, Event Reporting Engine, Content Protocol Engine, License Protocol Engine, IPMP Tool Protocol Engine, Content Search Engine, Security Engine, MVCO Engine, Domain Engine,

Rendering Engine Orchestrator :

Digital Item Adaptation Orchestrator Engine IPMP Orchestrator Engine REL Orchestrator Engine Player Orchestrator Engine

Almost all the engines exposes Creation and Access methods

Page 9: The MPEG Extensible Middleware API

MediaFrameworkEngine API

YY3D Graphics

2D Graphics

Graphic primitives

YY3D/scene graph

2D/layoutSceneGraphics-related

YYMuxed content

RVC

YY (light)Traditional (MPEG-1, MPEG-2, etc.)

Video

YY (light)Audio

YYImageElementary Streams

DecodingCreationTypeClass

Page 10: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Organized per functionality and per media

Page 11: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 12: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 13: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 14: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 15: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 16: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 17: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 18: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 19: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 20: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 21: The MPEG Extensible Middleware API

MediaFrameworkEngine API

Page 22: The MPEG Extensible Middleware API

MetadataEngine API

Organized in three packages

Page 23: The MPEG Extensible Middleware API

MetadataEngine API

Page 24: The MPEG Extensible Middleware API

MetadataEngine API

Page 25: The MPEG Extensible Middleware API

MPEG-21FileEngine API

Page 26: The MPEG Extensible Middleware API

Digital Item Adaptation Orchestrator Engine Specifies means to adapt a Digital Item or media resource based

on the description of the content – ContentMetadataEngine; according to a given context – DIAEngine; utilizing an actual adaptation engine – MediaFrameworkEngine.

Page 27: The MPEG Extensible Middleware API

Conclusions MXM API benefits

Simplifies the integration of MPEG technologies in third-parties applications

Exposes a balanced level of granularity to maintain the control at upper level while offering enough access points

It is documented in a developer friendly manner (hierarchical structure of packages, interfaces, classes, methods)