smil. andrea patiño-2001683-2
TRANSCRIPT
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 1/14
1
Distributed Multimedia Description Languages
An analysis of the SMIL language
Andrea Patiño Orrego -2001683, Vrije Universiteit Amsterdam.
Abstract – A declarative language for temporal interaction between Distributed Multimedia called
SMIL (Synchronized Multimedia Integration Language) is analyzed on this article. This paper
presents an overview of SMIL features and explains how this language makes it possible to position
spatially and to combine temporally diverse media content. Some SMIL functions are compared with
other technologies which share some of its characteristics. Additionally, limitations inherit to SMIL
Language are also exposed.
1. INTRODUCTION
The use of enrich content or multimedia content offered through computers and mobile devices is one
of the facts that engage most people to the massive use of such electronic technologies. All the
collection of data represented by text, audio, images, animation and video can be storage, offered or
transmitted easily nowadays; but the distribution of the content in a borderless world like internet
require better and new technologies to improve the streaming and synchronization of those
multimedia data objects.
A good example to comprehend how this content converges together could be a video presentation
about history where every user has the possibility to personalize its own view, changing the language
settings, size of the images or even adding captions. The use of multimedia resources is presented
synchronously over heterogeneous networks and heterogeneous users.
The study of Distributed Multimedia or communication of multimedia data between workstations or
servers through Web has become an important issue on Distributed Systems and Multimedia
Authoring recently. Several factors such Quality of Service, Quality of Experience, real-time
streaming protocols, media synchronization, and multimedia distribution, and so forth; are essential
requirements that new technologies or languages have to consider in order to give a qualified andefficient performance to multimedia in a network context. This article focuses on a specific
Distributed Multimedia Description language called SMIL,
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 2/14
2
An elaborate solution which allows Web multimedia technologies to converge together called SMIL -
Synchronized Multimedia Integration Language [“smile-”]1
presented by the Synchronized
Multimedia Working Group (SYMM WG) of the World Wide Web Consortium under the W3C
recommendation is the base of this report. A concept analysis and description, a brief comparison with
other approaches and some language limitations are exposed sufficiently to understand clearly the
SMIL language for expressing and supporting distributed multimedia.
Figure 1 SMIL allows Web multimedia technologies to converge together
2. SMIL FEATURES
Synchronized Multimedia Integration Language (SMIL), is a XML2-base declarative language (“Say
what you want, but not how it happen”) presented in a procedural way. The first version appears in
1998 and has evolved through the specifications 2.0, 2.1 until the 3 version in 2008 which is the
current one.
This markup language is an open XML structured language for describing how media objects are
spatially and temporally related each other. Actually, SMIL support the separation of content from
structure and control. In addition, SMIL supports extensible content control and rich model-base
hyperlinks. All those characteristics are grouped in fifty modules3 grouped in ten categories. Six
functional categories; structure, media content, layout, timing, interaction, transitions and adaptivity
are merely presented on this document.
2.1 Structure: defines the basic XML declaration for encoding SMIL presentations. As a declarative
language it defines what is wanted, but not how it happened.
1Pronunciation
2XML or eXtensible Markup Language is a meta-language.
3Collection of elements or/and attributes [1]
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 3/14
3
Figure 2 Basic declarations used in SMIL 3.0
On Figure 2, the line 1 defines the XML version, the line 2 defines the document type to be used by
the XML parser for SMIL document and the line 4 shows the host language of the document as SMIL.
The <smil> </smil> tags define the language in used, the <head> </head> tags declare
what is going to be reference on the <body> </body> tags.
As XML, SMIL defines the same conventions: elements, attributes, references and values. Elements
give an ordered structure to the document where every element name creates a distinction between
them, some special elements like timing and control let define child elements nested in a continue and
undefined degree. Attributes are qualities given to the elements in order to describe them; attributes
are specified by their value. For example, on Figure 3, the attributes of the element <region> are:
top, left, width, height and z-index, which have particular value.
References as their name indicate, specify the directory resources or files invoked by the presentation
(external files), and also permit to elements refer each other into the document thanks to the use of
ID’s
4
(internal references), for instance: id=”canvas1” declared on the <head> is referenced onthe <body>.
Figure 3 SMIL, XML-base Structure
4Unique Identifier
attributeelement valuereferences
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 4/14
4
2.2 Media content: this category is an allusion to the integration of diverse media. SMIL has a general
tag <ref>, which specifies whatever kind of references such image, video, audio, text, animation
or text-stream, but to facilitate the reading of SMIL code, those references can be also defined
explicitly with the synonyms <img>, <video>, <audio>, <text>, <animation>,
<textstream>, respectively.
2.3 Layout: SMIL allows the spatial location and measurement of content.
Figure 4 SMIL Layout5
SMIL has four profiles to fix the objects position on the viewing environment: Basic Layout, Audio
Layout, Multi-Window Layout and Hierarchical Layout .
Basic Layout defines the core SMIL layout elements and their attributes, uses the elements
<layout>, <root-layout> and <region>.
The element <root-layout> is a container window which is used to define its attributes,
determines the size of the window presentation, background color and ID. Elements root-layout and
region falls within <layout> and </layout> tags inside the SMIL header section.
Regions are rectangular divisions of root-layout and cannot be nested; regions are used in order to
specify the area on the window where a media object is placed. Every region is identified with a
unique ID, and width and height must be defined. For example: on Figure 4, region Image is located
on the coordinates left and top (0, 29) and its dimensions are width and height (240, 180).
SMIL regions can overlap; this characteristic can be managed with the attribute z-index to control
the regions stack. It is easy to see on Figure 4 where region Logo overlaps region Image. Another
attribute to fix the images or media size to the regions size (over and under) is the fit attribute. This
attribute can have the values fill, hidden, meet and scroll.
5Composed image from [2]
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 5/14
5
Audio Layout provides a single attribute to control the volume intensities expressed in decibels dB
with non-negative values or percentage values.
Multi-Window Layout allows the definition of external windows plus their independent location and
resizing. This profile also provides attributes for creating and controlling multiple windows
independently. Those windows are defined as topLayout windows and belong to the layout section;
regions can be placed as topLayout children, and those regions which are not declared as children of a
topLayout belong to the root-layout.
Hierarchical Layout this layout was defined on the SMIL 2.0 version and its functionalities were
divided between subRegionLayout, AlignmentLayout, BackgroundTilingLayout and OverrideLayout
on the 3rd version.
SubRegionLayout allows the statically or dynamically creation of nested regions; AlignmentLayout
is used with the purpose of give media a relative and coordinated location between the regions;
BackgroundTilingLayout defines an extra feature for insert an image or tiled images, into a
background region and, OverrideLayout makes possible to give new values to sub-regions attributes
(fit, z-index, backgroundColor, backgroundOpacity). Those attributes correspond to sub-regions
created in a dynamical way.
2.4 Timing: is considered the core of SMIL, timing and synchronization are divided into nineteen
modules to control all aspects concern to time. For example, If a timeline is considered while
playing a song, some time parameters such begin, during, and end of reproduction are implicitly.
SMIL allows the specification and control of those parameters and also the synchronization
between different types of media content. To do so, SMIL defines a set of timing attributes and
elements.
Figure 5 Timing Attributes and Elements
Timing Attributes: begin, dur, end, repeatDur and repeatCount are attributes to
define objects timing behavior. Begin (begin) specifies when a media object become active;
duration (dur) is represented by a numeric value indicating explicitly the extension of the
presentation; end (end) defines when a media object become passive; repeat during
(repeatDur) allows repeated iterations in a specific time and repeat count (repeatCount)
specifies the number of iterations.
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 6/14
6
Timing Elements: par or parallel element is a grouping mechanism to play back several objects
simultaneously. When a media object is tagged as par, its children execute at the same time.
seq or sequence element make it possible to show one element before or later to another in a
consecutive way creating a series of elements temporally independent, an object starts processing
only when its predecessor has finished, therefore there is only one object active in a time.
excl or exclusive element describes control managing over the sources in this case: stop, pause
and resuming over clips sets. When any media object takes control, it replaces the current object
and other objects are instantly excluded; for instance when one child is selected, any other child
that was playing is immediately de-activated. Those control changes can be defining by timing or
user events.
Figure 6 Timing Elements
Timing elements can also operate nested creating a wide range of time compositions producing
advanced and complex timeline performances.
2.5 Interaction: offers navigation facilities with the aim of explore different sections or branches on
the presentations. SMIL uses the <a> element in the same way that HTML but within SMIL
this element is enriched with the time notion. As in HTML this element is a reference used to link
objects and its attribute href contains the value indicating the destination link; the <a> element
cannot be nested. Another element used to control interaction is the <area> element which
defines a partial region to be linked.
href attribute uses URL links, XML files or even internal references (Figure 7). To accurate
internal or XML references, the value taken by href is preceded by the # symbol as can be
appreciated on Figure 8 line 14, where the area which triggers the event, in this case part_1,
makes reference to the following area identified with part_2 defined on the video element.
Figure 7. Linking elements
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 7/14
7
Figure 8. Linking elements
Linking elements also support time attributes; for instance if time notion is desired, then attributes
such begin, dur and end, etc., can be writing to control temporal behavior which commonly
gives to the link a certain active period that restrict users manage over it. Besides of those
attributes, linking elements include the next set of attributes: sourceLevel, destinationLevel,
sourcePlaystate, destinationPlaystate, alt, show accesskey, tabindex, target, external, actuate,
sourceLevel and destinationLevel which are define on LinkingAttributes module of the SMIL 3
specification.
2.6 Transitions: refers a transition effect module applicable only to images; this SMIL feature
specifies the attributes and elements to produce effects such as fades and wipes, similarly to TV,
video or slideshow, transitions soften the changes between images. This module is subdivided
into BasicTransitions, FullScreen, Inline and TransitionModifiers modules which define style,
entire screen, control level and additional transition control respectively. BasicTransitions
specifies the attributes transln for transitions placed at the beginning of the media active
duration and transOut for transitions placed at the end. Inline transitions control the progressof the transition; this means the progress may be accelerated, decelerated, animate forward or
backwards thanks to the transitionfilter element.
2.7 Adaptivity or Content Control: as presentations are all around the world on internet, to improve
the presentation comprehension SMIL provides some elements to adapt the content for every kind
of user and make the presentations accessible. Adaptivity permit users with different languages,
disabilities or different knowledge interpret the presentation content, because of the facilities
offered. This category also has some elements to consider according to the user, hardware or
software diversities.
User adaptation:
systemLanguage= (“es”, “en”, etc.) systemCaptions= (“on”, “off”)
systemOverdubOrSubtitle= (“overdub”, “subtitle”)this option allows the
user to chose between subtitles or dubbed into another languagesystemAudioDesc= (“on”, “off”)
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 8/14
8
Hardware adaptation:
systemBitrate= (“128000”, “256000”, “512000”, …) systemCPU= (“alpha”, “x86”, “ppc”, “mips”, “arm”, …)systemScreenSize= (“800x600”, “1024x768”, …)systemScreenDepth= (“1”, “4”,“8”, “16”, “32”)
Software adaptation:
systemOperatingSystem= (“winnt”, “wince”, “win9x”,“win32”,“win16”, “unix”, “qnx”, “linux”, “solaris”, …)
SMIL adapts also the presentations windows size according to the screen dimensions; some
SMIL regions and layouts use selectivity test to choose those satisfactory.
Switch element: allows selectivity; it is considered the most important element for adaptivity;
each element indicates an option. Selected option has to be tested according to certain conditions
before being elected. Not selected elements or not approved are ignored and are not played; the
first entry is accepted and played and the last entry is accepted by default. For example, on
Figure 9a, one of the five film versions is played according to the language and by default the
english_film.rm is played and on Figure 9b, the highest quality film is played according
to the net bandwidth.
a. b.Figure 9. Switch Element
Further Features
In order to have a wide perspective about SMIL features would be necessary to study the language in
a proper way particularly by doing; summarizing, some of the several additional features are
mentioned.
SMIL also allows: animations, pre-fetch, speed control, backwards playback, key events, simple in-
line timed text, pan and zoom on images, content computation, etc, etc, etc.
Regarding to meta-data, there are SMIL 3.0 extensions available to describe Web resources, known as
meta-data infrastructure or data describing data. As SMIL is XML-base, it reuses the language with
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 9/14
9
other XML-base languages like XHML6, in this way SMIL 3.0 allows better xml integration.
Another feature involves SMIL 3.0 timing which can also be exported as timesheets into other host
languages to separate the content from timing and presentation, similar to Cascading Style Sheet (CSS)
language.
The list features seem to be uncountable; i t is because of the wide range of modules SMIL provides,
however, those modules can be referred one by one according to every project requirements.
3. SMIL PROFILES
A profile presents a fixed collection of elements and attributes representative to every environment.
Some important SMIL profiles are: Language, Mobile, Extended Mobile, XHTML+SMIL and SMIL
3.0 Tiny Profile. SMIL 3.0 defines four profiles: Language, UnifiedMobile, Daysy and Tiny.
SMIL Language profile: this profile explain the language modifications included in the current
version throughout the updated modules, elements and attributes in order to maintain and implement
new features.
UnifiedMobile profile: mobile devices are enclosed in this profile, where SMIL modules provide
facilities to perform mobile presentations.
Daysy profile: this profile regards DAISY international standard for digital talking books designed
specially for disabled persons.
Tiny Profile: provides the basic SMIL features, this profile is designed specifically to reproduce
media content in devices with a small number of sources or server-side playlists.
4. SMIL IMPLEMENTORS
Media players and Web browsers are necessary to playback SMIL presentations; those players should
give support to SMIL features. Media player are often user interfaces and Web browsers implement
SMIL with the help or plug-ins7
or add-ons installed on these.
Media players
CWI Ambulant Player: is open source and provides a complete SMIL support.
Real Networks Real Player: is considered the leader on SMIL media players, support SMIL 2.0,language and SMIL 2.0 profiles.
Apple QuickTime Player: supports only SMIL 1.0
Oratrix GR i NS: support SMIL 2.0 and is a commercial implementation.
6eXtensible HyperText Markup Language base on html4.01 combined with XML to correct bad practices of basic html.
7Additional software components
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 10/14
10
Adobe SVG Viewer: supports SMIL animation in SVG8
Mobile Browser
SMIL portability provides tools to develop content of mobile platforms, there exist the Access
Technology Embedded SMIL player which provides an HTML browser framework for mobiles
actually supported by Access, Ericsson, Motorola, Nokia, Samsung. And the CWI Ambulant Player:
supported by PDAs and similar devices.
Another browser implementations are Daisy Technology for talking books that suppor Daisy SMIL
profile an SMIL Tiny player for Smil Tiny profile for playing list implemented from Apple, Microsoft
RealNetworks between others.
5. ADVANTAGES AND DISADVANTAGES
Advantages
SMIL is a simple but extensible format. Some applications combine SMIL with multimedia message
(MM) on mobile devices, Scalable Vector Graphics (SVG) to create animation and XHTML to control
different media content.
SMIL documents opposite to Flash documents are structure-driven allowing the reused of the
structure; equally, SMIL has the ability to located presentation from different servers into one single
layout and to create complex media presentations without using scripting language such as Javascript.
As a final point, the strong notion of time makes it possible to regulate timeline automatically.
Disadvantages
The installation of plug-ins on web browsers is a weak point of SMIL and although, Microsoft
Internet Explorer has limited support for SMIL features Mozilla and Chrome browsers easily integrate
SMIL with the use of plug-ins.
To run in a computer any similar presentation, the user must have a SMIL player
6. SMIL APPROACHES
Comparison with other technologies
Why approaches? Because, there is not any other similar and single technology to compare withSMIL. SMIL is a dedicate language or new standard to merge multimedia technologies into a single
but synchronized piece so, it orchestrate together several media sources and objects dynamically. It is
aloud to say then, that SMIL combine the strengths of many technologies into a single collaborative
environment where instead of competitions there exists integration. Nevertheless in terms of modules,
8 Scalable Vector Graphics
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 11/14
11
SMIL can be compare with other technologies such as Flash, CSS, Ajax, Html5 pointing out how
SMIL as a language differs in terms of distributed multimedia to those technologies.
Between SMIL, Ajax, HTML5 and Flash, exist some approaches; all of them present media content
online, provides richer media elements and tag along dynamism and performance improvements.
According to some practices and fieldwork test, some facts were evaluated in terms of quality of
content, simplicity, performance, portability and source code measurement.
Those technologies compete together for the quality of content presentation and latest technology
advances. Personally, I consider Html5 as the simplest way of presenting content online because this
new born technology do not need additional plug-ins to present videos and even offers some control
operations. Although old browser versions such IE6 do not support Html5, according to Google
Analytic, 98% of people work with IE 8+ and the latest versions of the other browsers. But Html5 is
not yet a standard specification.
In comparison, SMIL, Ajax and Flash require additional plug-ins browser installation. Ajax seems to
have the next simplest way to show the content on any kind of browsers. It is compatible with Firefox
3, Internet Explorer 8, Safari 4 and Chrome. Flash is also compatible with many browsers but it is
performance decrease under heavy load of its sources in contrast to the others and can not be easy
found by searching engines like Google. Similarly to Ajax, SMIL as a new alternative seems to be
high compatible with browsers, but plug-ins installation can be a bother task.
Technology Benefits Drawbacks
Html5 The rise of webapps, more descriptive
semantics, richer media elements
Brower support, the language is a spec,
Media licensing issues
Flash `Cross-platform compatibility, Flash files
can are usually very small and can be
easily downloaded, A variety of different
types of video files can easily be
converted to the Flash format
Creating Flash content can be expensive
and time consuming
Ajax Creating fast and dynamic web pages.
W3C Standard, high browser-device
compatibility, Friendly URLs, Deep
links.
If JavaScript is not activated, Ajax can't
works. The asynchronous mode may
change the page with delays (when the processing on the server take some
times), this may be disturbing.
Smil Easy to learn and understand, an HTML-
like language, can be written using a text-
editor, W3C recommendation
Browser support, Plug-ins
Table 1
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 12/14
12
Another relevant fact evaluated was the code source measurement which has an effect on the effort
achieving presentation production. Making similar presentations with SMIL, Flash and Html5, Html5
seems to have the largest code content competing with SMIL; Flash appear with a medium average of
code length, but in basic task such as a slideshow presentation flash gives the impression of having
more source code investment, especially when adding buttons control.
In the same line of measurement, source files and output files were evaluated; unsurprisingly Flash
has the highest records producing the heaviest output files (size expressed in Kb). SMIL and Html5
have a similar average of files produced and the sizes of those files are considerably smaller in
comparison with Flash files.
On the other hand, a merely performance evaluation was employed, but some important facts such as
connectivity and bandwidth were ignored anyway, proves where done over the same conditions and
browsers. A simple calculus was done to compare the number of seconds that user has to way before a
performance started. Results can be appreciated on Table 2.
Technology Slideshow time Video time
Html5 8ms 3ms
Flash 2ms 4ms
Smil 3ms 3ms
Table 2
Another portal to compare SMIL, is SmilLayout which contain similar CSS characteristics. “It is
isomorphic and replaceable with CSS”[3]. Those characteristics are shown on Table 3.
SMIL Constructs CSS Constructs
<root-layout> and <toplayout> elements only one window (the viewport)no CSS control over window size
backgroundColor= attribute background-color= property Background
no equivalent remaining background properties
<region> elements declarations Refer
id=, regionName= and region= attributes selectors
top=, left=, bottom=, right=, width=,height= and z-index= attributes
top=, left=, bottom=, right=, width=,height= and z-index= properties
hierarchical regions (in head) inheritance (in body)
sub-regions relative positioning
units of measure: pixels, percentage units of measure: pixels, percentage
Positioning
no equivalent absolute length units: points,centimeters, etc.
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 13/14
8/3/2019 SMIL. Andrea Patiño-2001683-2
http://slidepdf.com/reader/full/smil-andrea-patino-2001683-2 14/14
14
BIBLIOGRAPHY
[1] SMIL 3.0 Specification http://www.w3.org/TR/2008/PR-SMIL3-20081006
[2] Bulterman, Dick and Rutledge, Lloyd . SMIL 3.0 Interactive Multimedia for the Web, Mobile
Devices and Daisy Talking Books.
[3] Hardman, Lynda and Rutledge, Lloyd. SMIL 2.0 — Interactive Multimedia on the Web
Multimedia and Human-Computer Interaction Group CWI, Amsterdam, The Netherlands
http://homepages.cwi.nl/~media/SMIL/Tutorial/SMILTut.html
[4] Kennedy, .Tim and Slowinski, Mary SMIL Adding Multimedia to the Web
[5] SMIL 2.0 Specification http://www.w3.org/TR/2005/REC-SMIL2-20050107/