The MPEG Extensible Middleware API
-
Upload
christian-timmerer -
Category
Technology
-
view
396 -
download
0
Transcript of 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
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, …
functionalities
media
audio codec
video codec
compression
audio
video
Old, yet good MPEG time …
media
compre
ssion
audio
video
Nowadays, life is more complex
scene graph
graphics primitives
functionalities
descrip
tion
protecti
on
adaptation
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
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
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
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
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
MediaFrameworkEngine API
Organized per functionality and per media
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MediaFrameworkEngine API
MetadataEngine API
Organized in three packages
MetadataEngine API
MetadataEngine API
MPEG-21FileEngine 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.
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)