INTERNATIONAL ORGANISATION FOR STANDARDISATION

spongereasonInternet and Web Development

Nov 12, 2013 (3 years and 9 months ago)

106 views

©

ISO/IEC

2010



All rights reserved

Document type:



International Standard

Document subtype:




Document stage:



(30) Committee

Document language:



E




STD Version 2.1c2


INTERNATIONAL ORGANISATION FOR STANDARDISATION

ORGANISATION INTERNATIONALE DE NORMALISATION

ISO/IEC JTC1/SC29/WG11

CODING OF MOVING PICTURES AND AUDIO


ISO/IEC JTC1/SC29/WG11
N
11
25
8

April

2010,
Dresden
,
Germany


Source

Systems

Status

Approved

Title

Text
of ISO/IEC
CD
23007
-
3



MPEG
-
U Conformance and
r
eference
s
oftware

Author

Jean Le Feuvre (T
e
l
e
com ParisTech), Jean
-
Claude Dufourd (T
e
l
e
com ParisTech),
Kyungmo
Park (Samsung Electronics Ltd.)


ISO/IEC

J
TC

1
/SC

29

N

1
125
8

Date:



2010
-
04
-
23

ISO/IEC

CD

23007
-
3

ISO/IEC

J
TC

1
/SC

29
/WG

11

Secretariat:




Information technology



Rich media user interface



Part

3:
Conformance and refe
rence software

Élément intr
oductif



Élément central



Partie

3: Élément complémentaire


Warning

This document is not an

ISO International Standard. It is distributed for review and comment. It is subject to
change without notice and may not be referred to as an International Standard.

Recipients of this draft are invited to submit, with their comments, notification of any
relevant patent rights of
which they are aware and to provide supporting documentation.

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

iii


Copyright notice

This ISO document is a working draft or committee draft and is copyright
-
protected by ISO. While the
reproduction of working drafts or committee draf
ts in any form for use by participants in the ISO standards
development process is permitted without prior permission from ISO, neither this document nor any extract
from it may be reproduced, stored or transmitted in any form for any other purpose without

prior written
permission from ISO.

Requests for permission to reproduce this document for the purpose of selling it should be addressed as
shown below or to ISO's member body in the country of the requester:

[Indicate the full address, telephone number, f
ax number, telex number, and electronic mail address, as
appropriate, of the Copyright Manger of the ISO member body responsible for the secretariat of the TC or
SC within the framework of which the working document has been prepared.]

Reproduction for sal
es purposes may be subject to royalty payments or a licensing agreement.

Violators may be prosecuted.





ISO/IEC

CD

23007
-
3

iv

©

ISO/IEC

2010



All rights reserved


Contents

Page

Foreword

................................
................................
................................
................................
..............................
v

Introduction

................................
................................
................................
................................
.......................

vi

1

Scope

................................
................................
................................
................................
......................
1

2

Normative references

................................
................................
................................
............................
1

3

Terms and definitions

................................
................................
................................
...........................
1

4

Conformance of Widgets

................................
................................
................................
......................
1

4.1

Conformance of manife
sts

................................
................................
................................
...................
1

4.2

Conformance of packages

................................
................................
................................
....................
2

4.3

Conformance of context information
................................
................................
................................
...
2

4.4

Conformance of the MPEG
-
U widget scripts

................................
................................
......................
2

5

Conformanc
e of Widget Managers

................................
................................
................................
......
2

6

Conformance Sequences

................................
................................
................................
......................
3

6.1

Introduction

................................
................................
................................
................................
............
3

6.2

Sequences

................................
................................
................................
................................
..............
3

6.3

Coverage of MPEG
-
U features

................................
................................
................................
..............
4

7

Reference software description

................................
................................
................................
...........
9

7.1

Overview and architecture

................................
................................
................................
....................
9

7.2

Reference software description

................................
................................
................................
...........
9

7.3

Utility Software Description

................................
................................
................................
...............

10

Bibliography

................................
................................
................................
................................
.....................

12


ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

v


Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bo
dies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees col
laborate in fields of mutual interest. Other international organizations, governmental
and non
-
governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical com
mittee, ISO/IEC

JTC

1.

International Standards are drafted in accordance with the rules given in the ISO/IEC

Directives, Part

2.

The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by
the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75

% of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements o
f this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

ISO/IEC

23007
-
3

was prepared by Joint Technical Committee ISO/IEC

JTC

1
,
Information technology
,
Subcommittee SC

2
9
,
Coding of audio, picture, multimedia and hypermedia information
.

ISO/IEC

23007

consists of the following parts, under the general title
Information technology



Rich media
user interface
:



Part

1: Widgets



Part 2:
Advanced
u
ser
i
nteraction
i
nterface



Part

3
: Conformance and reference software

ISO/IEC

CD

23007
-
3

vi

©

ISO/IEC

2010



All rights reserved


Introduction

User interface represents a crucial feature for many consumer devices and services. User interfaces have
recently evolved to support more media types including audio, video, 2D or 3D graphics and have beco
me
rich media user interfaces. User interfaces are also moving towards a collection of small dedicated
applications, called Widgets.

Additionally, more and more devices are capable of displaying rich media user interfaces from desktop
computers, to mobile
devices, to home appliances including TV sets. In this heterogeneous environment,
users expect a homogeneous, unified experience when interacting with their devices.

In this International Standard, Widgets can be processed by entities running on different

devices, called
Widget Managers, in charge of processing and managing the life cycle of the widgets supporting
communications with other entities locally or remotely deployed and enabling widget mobility across devices.

The objective of this International

Standard is to provide normative interfaces between Widgets and Widget
Managers, to allow Widgets from different service providers to run, communicate and be transferred within a
unique framework.

This International Standard is developed as ISO/IEC 23007

(Rich Media User Interface, also known as
“MPEG
-
U”). Part 1 of the standard addresses the normative aspects of the MPEG
-
U Widgets. In particular, it
specifies widget packaging formats, aspects for widget communications with external entities and for widge
t
mobility. It also contains a technical annex describing a list of use cases and examples to address such use
cases. Part 2 of the standard addresses reference software and conformance aspects.

COMMITTEE DRAFT

ISO/IEC

CD

23007
-
3


©

ISO/IEC

2010



All rights reserved

1


Information technology



Rich media user interface



Part

3:
Conformance and refe
rence software

1

Scope

This part of ISO/IEC 23007 specifies how to test whether data and decoders meet requirements specified by
ISO/IEC 23007
-
1. In this part of ISO/IEC

23007, widget generators are not addressed specifi
cally. A generator
may be said to be an ISO/IEC

23007 generator if it generates widgets compliant with the syntactic and
semantic requirements specified in part 1 of ISO/IEC

23007.

Procedures are described for testing conformance of widgets and widget mana
gers to the requirements
defined in part 1 of ISO/IEC 23007.

2

Normative references

The following standards contain provisions which, through reference in this text, constitute provisions of this
part of ISO/IEC 23007. At the time of publication, the edition
s indicated were valid. All standards are subject to
revision, and parties to agreements based on this part of ISO/IEC 23007 are encouraged to investigate the
possibility of applying the most recent editions of the standards indicated below. Members of IEC

and ISO
maintain registers of currently valid International Standards.

3

Terms and definitions

Relevant definitions for this part of ISO/EC 23007 can be found in ISO/IEC 23007
-
1.

4

Conformance of Widgets

Widgets use standard representations for describing man
ifests, W3C WPC packages, ISOFF packages and
context information. This clause describes how to check conformance of all these representations.

4.1

Conformance of manifests

The first step for checking conformance of the MPEG
-
U XML manifest syntax is to validate

the XML document
against the
Relax NG for the configuration document

provided by the W3C WPC specification. If this step fails,
the widget manifest is considered a

non
-
conformant MPEG
-
U manifest.

EDITOR'S NOTE Should we provide a complete schema or RNG and validate everything in one step?

The second step is to check conformance according to the MPEG
-
U syntax. The electronic attachments of
Part 1 of ISO/IEC 23007 pro
vide an XML Schema for that purpose. A conformant W3C WPC configuration
document is a valid MPEG
-
U manifest if the XML schema validation succeeds.

The next step is to verify that the scene constructs referenced in the manifest are present in the scene
desc
ription pointed to by the manifest. This verification is specific to the scene description language used.

ISO/IEC

CD

23007
-
3

2

©

ISO/IEC

2010



All rights reserved


4.2

Conformance of packages

A widget package is conformant to ISO/IEC 23007 if it is conformant to the W3C WPC specification or if it is a
conformant ISOF
F
-
based widget package.

An ISOFF
-
based widget package is conformant to ISO/IEC 23007 if the following rules are validated:



it is a compliant ISO/IEC 14496
-
12 file or a compliant ISO/IEC 21000
-
9 file;



it uses the brand declared in ISO/IEC 23007
-
1 either in
the list of compatible brand or in the major brand;



it contains a conformant manifest as a primary item and stored in an XML box, with a internet MediaType
and handler type as defined in ISO/IEC 23007
-
1;



all resources declared in the manifest with IRI rela
tive to the manifest are described in the item location
box.

4.3

Conformance of context information

A widget context information document is conformant to ISO/IEC 23007 if it is a valid XML file according to the
XML Schema provided as an electronic attachment

to part 1 of ISO/IEC 23007.

4.4

Conformance of the MPEG
-
U widget scripts

Scripts of MPEG
-
U widgets shall obey the constraints specified in the clause 9 of ISO/IEC 23007
-
1, as well as
constraints specified in the WAE specification.

5

Conformance of Widget Manage
rs

Widget managers are responsible for the processing widgets, e.g. for providing MPEG
-
U communication
capabilities to widgets and for managing context information. Normative
behaviors

of Widgets managers are
demonstrated by the Reference Software.

The fol
lowing
behaviors

are defined as non normative:



Composition and presentation of the scene description language used in the widget;



Presentation of available widgets to the user and use of a selection mechanism for activation of the full or
simplified repres
entation;



Transitions between the full and simplified representation;



Management of Communication privileges;



Widget activation and deactivation.

For some of these non
-
normative
behaviors
, utility software is provided.

Conformant MPEG
-
U widget managers sh
all be W3C Widgets
-
compliant user agents, and obey constraints
specified in ISO/IEC 23007
-
1 as well.

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

3


6

Conformance Sequences

6.1

Introduction

Electronic attachments are organized in the following fashion:

-

directory mp4: widgets packaged in MP4 files (extension .
mgt)

-

directory wgts: widgets packaged in ZIP files (extension .wgt)

-

directory widgets: unpackaged widgets

Widgets are implemented in SVG and ECMA
-
Script unless specified otherwise.

6.2

Sequences

6.2.1

animatedIcon

This widget has an active icon, animated with script
ing.

Directory: widgets/animatedIcon

6.2.2

c1

Th
e

c1 widget and its component c1comp test many features of MPEG
-
U, including activation and
deactivation of a component, binding of multiple interfaces, exchanging various kinds of messages… c1
displays success me
ssages numbered from 000 to 023. One message appears twice as 0
--
. Any number
missing in the sequence means there is a bug.

Directory: widgets/c1 & widgets/c1comp

6.2.3

c2

Th
e

c2 widget and its component c1comp test some features of MPEG
-
U, in particular the s
aving and
restoring of a preference.
This widget

displays success messages numbered from 000. One message
appears twice as 0
--
. Any number missing in the sequence means there is a bug.

Directory: widgets/c2 & widgets/c1comp

6.2.4

core

Th
e

core widget and its co
mponent comp test the predefined messages from the core interfaces specifically.

Directory widgets/core/main & widgets/core/comp

6.2.5

upnp_light_switch

T
his widget t
ests the connection with
the

UPNP
SwitchPower

service.
It is can for example be tested with the
Network Light

provided with the Intel UPnP tools
.

Directory: widgets/upnp_light_switch

6.2.6

light_switch_pair

These two widgets test the connection of two widgets in local or remote mode. One acts as a switch and the
other as a light bulb.

Directory: widgets/li
ght_switch_pair/comwidin and widgets/light_switch_pair/comwidout

ISO/IEC

CD

23007
-
3

4

©

ISO/IEC

2010



All rights reserved


6.2.7

clock

This widget is a digital clock implemented in BIFS. It uses preferences and localization.

Directory: widgets/clock

6.2.8

dlnaplayercontrol and simpleplayercontrol

These two widgets control an

UPnP AVRenderer, the first with scripting, and the second with a purely
declarative scene and limited functionality.

Directory: widgets/dlnaplayercontrol and widgets/simpleplayercontrol

6.2.9

internet_radio and internet_radio_control

These two widgets implement

a radio playing streamed audio from the Internet, and a very simple control
panel for the radio. The radio widget uses preferences to reload its previous execution context.

Directory: widgets/internet_radio and widgets/internet_radio_control

6.2.10

widget_spy

Th
is widget defines interfaces of 4 other widgets above and of GPAC renderers and shows the binding status
of these interfaces, thus implementing a test for the presence/absence of the other widgets.

Directory: widgets/widget_spy

6.3

Coverage of MPEG
-
U features

Feature

Sequence

ZIP packaging

mp4/animatedIcon.wgt

ZIP packaged widget without manifest

To be delivered by 94
th

meeting

ISO
-
FF packaging

wgts/animatedIcon.mgt

ISO
-
FF packaged widget without manifest

To be delivered by 94
th

meeting

U
npackaged

widgets/
animatedIcon

unpackaged widget without manifest

To be delivered by 94
th

meeting

Communication: input messages

widgets/light_switch_pair

Communication: ouput messages

widgets/light_switch_pair

Communication: reply messages

widgets/light_switch_pair

Mul
tiple instances

widgets/light_switch_pair/comwidin

L
ocalization

widgets/clock

widgets with invalid manifest

W3C invalid widgets from the W3C
sequences

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

5


invalid Widgets in ZIP packages

W3C invalid widgets from the W3C
sequences

invalid Widgets in ISO
-
F
F packages

To be delivered by 94
th

meeting

widgets with invalid scene description

To be delivered by 94
th

meeting

valid widgets (display of metadata of the widget)

any valid widget

widget Life Cycle Events

To be delivered by 94
th

meeting

matching inter
faces (Testing dynamic matching of interfaces by
adding, removing, adding one of the widget in a pair of compatible
widgets)

widgets/light_switch_pair

similar non
-
matching interfaces

To be delivered by 94
th

meeting

widgets with non
-
matching nodes

To be d
elivered by 94
th

meeting

widgets with non
-
matching scripting functions

To be delivered by 94
th

meeting

bindAction

widgets/widget_spy

unbindAction

widgets/widget_spy

multiple bindings

widgets/upnp_light_switch

unsupported multiple bindings

To be delive
red by 94
th

meeting

widget ZIP package with context information

To be delivered by 94
th

meeting

widget ISO
-
FF package with context information

To be delivered by 94
th

meeting

unpackaged widget with context information

To be delivered by 94
th

meeting

Wi
dget ZIP package with invalid context information

To be delivered by 94
th

meeting

Widget ISO
-
FF package with invalid context information

To be delivered by 94
th

meeting

Unpackaged widget with invalid context information

To be delivered by 94
th

meeting

W
idget with context information located at a given URL

To be delivered by 94
th

meeting

Unpackaged delivery

To be delivered by 94
th

meeting

ISO
-
FF file with missing mwgt brand

To be delivered by 94
th

meeting

ISO
-
FF file with config.xml not stored as prima
ry item

To be delivered by 94
th

meeting

ISO
-
FF file with wrong handler type

To be delivered by 94
th

meeting

API MPEGWidget.onInterfaceBind

To be delivered by 94
th

meeting

API MPEGWidget.onInterfaceUnbind

To be delivered by 94
th

meeting

API MPEGWidget.o
nActivation

To be delivered by 94
th

meeting

ISO/IEC

CD

23007
-
3

6

©

ISO/IEC

2010



All rights reserved


API MPEGWidget.activateComponentWidget

To be delivered by 94
th

meeting

API MPEGWidget.deactivateComponentWidget

To be delivered by 94
th

meeting

API MPEGWidget.getInterfaceHandlersByType

widgets/c1

API Interfa
ceHandler.bound

To be delivered by 94
th

meeting

API InterfaceHandler.type

To be delivered by 94
th

meeting

API InterfaceHandler.invoke

widgets/c1

API InterfaceHandler.msgHandlerFactory

widgets/c1

API InterfaceHandler.invokeReply

To be delivered by 94
th

meeting

API
MsgHandler.msgName

To be delivered by 94
th

meeting

API
MsgHandler.interfaceHandler

To be delivered by 94
th

meeting

discardable widget

To be delivered by 94
th

meeting

widget without feature element or with a name value different from
MPEG
-
U

To be delivered by 94
th

meeting

widget manifest with multiple content elements

To be delivered by 94
th

meeting

contextConfiguration

widgets/internet_radio

overriden preferences

To be delivered by 94
th

meeting

serviceProvider

widgets/light_switch_pair/c
omwidin

C
omponent

widgets/c1

component with connectTo

To be delivered by 94
th

meeting

required Interfaces

To be delivered by 94
th

meeting

inputAction with a node

widgets/light_switch_pair/comwidout

inputAction with a function

widgets/c1

outputTrigger

with a node

widgets/light_switch_pair/comwidout

outputTrigger with an event

To be delivered by 94
th

meeting

outputTrigger with a function

To be delivered by 94
th

meeting

default input

To be delivered by 94
th

meeting

input with setAttribute

widgets/lig
ht_switch_pair/comwidin

input without setAttribute

widgets/internet_radio

default output

To be delivered by 94
th

meeting

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

7


output with attributeModified

widgets/simpleplayercontrol

output without attributeModified

To be delivered by 94
th

meeting

widget
with multiple interfaces

widgets/c1

widget with multiple output messages

widgets/c1

widget with multiple input messages

widgets/internet_radio

widgets with multiple messageIn elements with the same name

To be delivered by 94
th

meeting

widgets with mul
tiple messageOut elements with the same name

widgets/simpleplayercontrol

widget with components using src with URL

widgets/c1

widget with components using src with URN:UUID

To be delivered by 94
th

meeting

activateTrigger

widgets/c1

deactivateTrigger

w
idgets/c1

activateFailureAction

To be delivered by 94
th

meeting

requiredInterface

To be delivered by 94
th

meeting

Predefined communications: messageIn setSize

widgets/core/main

Predefined communications: messageIn show

widgets/core/main

Predefined com
munications: messageIn hide

widgets/core/main

Predefined communications: messageIn activate

widgets/core/main

Predefined communications: messageIn deactivate

widgets/core/main

Predefined communications: messageOut setSize

widgets/core/main

Predefined c
ommunications: messageOut show

widgets/core/main

Predefined communications: messageOut hide

widgets/core/main

Predefined communications: messageOut getAttention

widgets/core/main

Predefined communications: messageOut requestActivate

To be delivered by 9
4
th

meeting

Predefined communications: messageOut requestDeactivate

widgets/core/main

Predefined communications: messageOut showNotification

widgets/core/main

Predefined communications: messageOut placeComponent

widgets/c2

Predefined communications: me
ssageOut
UserEnvironmentDescriptionRequest

To be delivered by 94
th

meeting

ContextInformation

To be delivered by 94
th

meeting

ISO/IEC

CD

23007
-
3

8

©

ISO/IEC

2010



All rights reserved


ZIP packaged widget with context information

To be delivered by 94
th

meeting

ISO
-
FF packaged widget with context information

To

be delivered by 94
th

meeting

ContextInformation document with a URL attribute

To be delivered by 94
th

meeting

Invalid context information

To be delivered by 94
th

meeting

widget with the same simplified and full representation

To be delivered by 94
th

me
eting

widget with one interface with required=‘true’
=
To be delivered by 94
th

meeting

widget declaring an interface with one message that does not
appear in the service (fail)

To be delivered by 94
th

meeting

widget with an input message with a parameter
without a default
value

To be delivered by 94
th

meeting

widget with an interface that does not map all output parameters of
the service

To be delivered by 94
th

meeting

widget with an interface that declares an output message without
correspondent input p
arameter in the service description

To be delivered by 94
th

meeting

ISO
-
FF widget with ‘mwgt’ as major brand
=
To be delivered by 94
th

meeting

ISO
-
FF widget with ‘mwgt’ as a compatible brand
=
To be delivered by 94
th

meeting

ISO
-
FF widget with a manifest no
t named config.xml

To be delivered by 94
th

meeting

ISO
-
FF widget with additional resources stored as items in the file

To be delivered by 94
th

meeting

ISO
-
FF widget with a movie resource

To be delivered by 94
th

meeting

widget to test support for the inv
oke method

To be delivered by 94
th

meeting

widget to test support for the MsgHandler callback function

To be delivered by 94
th

meeting

widget with a script function in the mw:inputAction attribute and an
invokeReply

To be delivered by 94
th

meeting

widge
t with scene construct using XML namespace prefixes

To be delivered by 94
th

meeting



Editor note:

How to test the Internet Media Type ?

How to test localization or not in unpackaged push/pull delivery ?

How to test maintenance of context information acr
oss activations

How to test maintenance of multiple context information per instance

How to test the processing of unbindAction ?

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

9


7

Reference software description

7.1

Overview and architecture

The reference software is composed of several languages combined toge
ther through utility software as
described in

. The utility software provides an implementation of the non
-
normative
behaviors
, and allows
exercising

the
reference software in a typical environment. The utility software is the GP
AC player [1], an Open Source
multimedia framework distributed under the LGPL license.


Figure

1



Architecture of the
MPEG
-
U Reference Software

The reference software tests all features defined in ISO/I
EC 23007
-
1. It acts as a conformant W3C WPC User
Agent and as a ISO/IEC 23007
-
1 Widget Manager.

The reference software is structured as follows:



Widgetman: a C dynamic library acting as a module of the utility software



mpegu
-
core.js: a
JavaScript

file hand
ling all communications between widgets



mpegu
-
wm.js and mpegu
-
wm.xmt: an example of a ISO/IEC 23007
-
1 Widget Manager
implementation, provided in MPEG
-
4 XMT
-
A as defined in ISO/IEC 14496
-
11, allowing visualization of
widgets and user interactions.


The scen
e description formats supported by the Reference software are the same as the scene description
formats supported by the utility software. The reference software is distributed under the MPEG license as
indicated in the source code.

7.2

Reference software desc
ription

7.2.1

WidgetManager shared library

This shared library (
gm_widgetman.so/dll/dylib
) is in charge of the following tasks:



Handling of packaged (ZIP and ISO File Format) widgets,



Handling of unpackaged widgets,



Validation of the widget manifest,



Localizatio
n of widget resources,



Validation of interfaces,



Providing persistent storage,



Providing ContextInformation serialization and parsing,


Utility

Software

ISO
BMFF

MPEG
-
2
TS

HTTP

RTP

UPnP

ZIP

Widget Package
Management

Widget Communication
Management


Reference
Software

Utility

Software

Presentation

Engi
ne B


Widget Mobility
Management

Presentation

Engine A

ISO/IEC

CD

23007
-
3

10

©

ISO/IEC

2010



All rights reserved




Implementation of ‘widget’ and ‘MPEGWidget’ JavaScript interfaces for the widget scene,



Modification and monitoring of th
e different scene structures in the widget for event dispatching.


This shared library also provides JavaScript wrappers to widgets, interfaces and messages, which are
exposed to the WidgetManager message broker and UI implementation. The details of these
wrappers is
given in the message broker
JavaScript

file (
mpegu
-
core.js
).

This module is mostly independent from the scene description used, with the exception of the modification and
monitoring of the different scene structures in the widget itself, which
must be scene description aware.

7.2.2

MPEG
-
U Widget Communications

The MPEG
-
U Widget Communications are managed by some JavaScript code (
mpegu
-
core.js
) in order to
interface with the various protocols provided by the utility software. This code is responsible f
or interface
binding and routing messages between widgets, or between a widget and the Widget Manager GUI. For each
widget, this script performs the following tasks:



Binding and unbinding to a local interface, e.g. communication between two widgets in the
same
Widget Manager



Binding and unbinding to the core: in and core:out interfaces of the Widget Manager



Forwarding messages to the GUI of the Widget Manager



Binding and unbinding to a remote interface discovered through UPnP*.



Publishing interfaces on the
network for service providers through UPnP*.


*The UPnP protocol support is implemented in the utility software and can be controlled by JavaScript
wrappers, as explained in the documentation of the utility software.


This part of the Widget Manager is ind
ependent from the scene description technology, and has been
successfully used by MPEG
-
4 BIFS, MPEG
-
4 LASeR and W3C SVG.

7.2.3

MPEG
-
U Widget Manager interface

The reference software includes a full featured Widget Manager implemented in an MPEG
-
4 scene in XMT
a
nd JavaScript (
mpegu
-
wm.xmt

and
mpegu
-
wm.js
). The Widget Manager supports:



Browsing a local hard drive for widget selection,



Scanning a local hard drive directory for widget selection,



Displaying the list of installed widgets icons,



Removing all installe
d widgets,



Displaying several widgets and their components on screen,



Resizing and moving a widget,



Migrating a widget to another UPnP widget manager,



Sending core:in messages and receiving core:out messages,



Displaying widget metadata contained in the man
ifest.


7.3

Utility Software Description

The utility software of ISO/IEC 23007
-
3 is GPAC

[1]. GPAC is an open
-
source multimedia framework
distributed under the LGPL license. Although the GPAC framework is distributed under LGPL, some modules
(dynamic libraries

used by GPAC) may use GPL software. This is the case for the module providing UPnP
support, which relies on a third party library, Platinum, distributed under GPL.

ISO/IEC

CD

23007
-
3

©

ISO/IEC

2010



All rights reserved

11


For convenience, an installer for the Windows platform is made available at the following
URL:
http://perso.telecom
-
paristech.fr/~lefeuvre/GPAC/

The installer also includes a compiled version of the C
-
part of the reference software, as well as a compliant
ISO/IEC 23007
-
1 Widget
Manager.

The reference and utility software have been tested on the following platforms:

-

Windows XP, Vista, 7

-

Linux (X86, ARM and SH4)

-

Mac

OS X (10.4, 10.5 and 10.6)

-

Windows Mobile


7.3.1

Utility Software Widget Manager

The
Widget Manager provided in
ISO/IEC 230
07
-
3 is
an MPEG
-
4 BIFS scene in XMT format playable with
any of the players included in
GPAC

(MP4Client, Osmo4…). The scene uses some non
-
standard extensions
for local hard drive browsing, allowing installation of widgets in a convenient way. T
he scene des
cription
formats supported by the utility software, and therefore the playable widget formats of the reference software,
are:



MPEG
-
4 BIFS

o

XMT textual format), BT (unofficial, VRML
-
based format) and Binary

o

Packaged in ISO FF files, XML files, RTP streams



VRML/X3D

o

X3D textual format, VRML textual format



MPEG
-
4 LASeR

o

XML format and Binary format

o

Packaged in ISO FF files, SAF files and RTP streams



W3C SVG


More details on GPAC features and tools can be found on the project web page,
http://gpac.sourceforge.net
.

7.3.2

Utility Software
ISO FF Packager

While packaging a widget in a ZIP container is a simple task, packaging it in an ISO FF container is more
complicated. The packager provided in ISO/IEC 23007
-
3 is
MP4Box, the
GPAC command
-
line packaging tool
.

MP4Box supports
packaging of a widget into an ISO File Format package. The command to use is:

MP4Box

mgt config.xml

MP4Box also supports inspecting existing ISO Base Media Files, and can be used to check a widget package
.
The command to use is:

MP4Box

info

widget.mgt



ISO/IEC

CD

23007
-
3

12

©

ISO/IEC

2010



All rights reserved


Bibliography

[1] Le Feuvre, J., Concolato, C., and Moissinac, J. 2007. GPAC: open source multimedia framework. In
Proceedings of the 15th international Conference on Multimedia

(Augsburg, Germany, Septembe
r 25
-

29,
2007). MULTIMEDIA '07. ACM, New York, NY, 1009
-
1012. DOI=
http://doi.acm.org/10.1145/1291233.1291452