previous   next   contents  

16. SMIL Basic Language Profile

Editors
Kenichi Kubota ( kuboken@isl.mei.co.jp), Panasonic
Aaron Cohen (aaron.m.cohen@intel.com), Intel

Table of contents

16.1 Abstract

The SMIL Basic Language Profile defines a profile which is a small subset of the SMIL Boston language profile specification, and is designed to be a profile that meets the needs of resource-constrained devices such as mobile phones and portable disc players. It contains a baseline set of the SMIL Boston features including basic layout, simple linking, basic media object, structure, and basic timing modules.


16.2 Introduction

This section is informative.

The SMIL language [SMIL10] [SMIL-BOSTON] includes powerful functionality for multimedia services not only on desktops but also for information appliances.

SMIL content authors may wish their works to be available on a widespread variety of web clients, such as desktops, television sets, mobile phones, portable disc players, car navigation systems, and voice user agents. Each of these platforms has its specific capabilities and may require its own profile. The SMIL Modules [SMIL-MOD] provide a solution to create profiles and extensions of the full SMIL language profile, in addition to providing the means to integrate SMIL functionality into other languages.

The SMIL Basic profile consists of a reduced set of modules among the variety of SMIL modules in terms of semantics and syntax, and assures conformance to the larger SMIL Boston language specification. A profile for mobile and portable devices can be tailored based on the SMIL Basic profile with or without extensions to support application specific features.

The SMIL Basic profile does not propose to restrict extension, but aims at a baseline of conformance between the full SMIL language profile and one appropriate for mobile and portable services. Saying that a player is SMIL Basic conformant, means that it can play documents at least as complex as those allowed by the SMIL Basic profile. It may play significantly more complex documents. In particular, the full blown SMIL players will be automatically SMIL Basic compliant. Thus SMIL authoring for low power devices is easier since general tools can be used.

16.3 Design Rationale

This section is informative.

SMIL Basic profile is a client profile which conforms to SMIL Boston and may be supported by wide variety of SMIL players, even those running on small mobile phones. Mobile and portable devices share some common characteristics:

The SMIL Basic Profile meets these requirements.

For references, see the document, "HTML4.0 Guidelines for Mobile Access" [MOBILE-GUIDE] issues guidelines for HTML content, and "XHTML Basic" [XHTML-BASIC] provides a minimum subset for portability and conformance.

16.3.1 Layout

Layout Module coordinates presentation of objects on the display device. Presentation on a small display has some difficulty in rendering objects. Layout of objects may not be adjusted flexibly comparing their specified regions, nor have scroll bars. So, the layout should be simple and effective. Therefore, the root-layout window may represent the full screen of the display. The SMIL Layout Level 0 module is used and the nesting of layout regions supported in the higher level SMIL layout modules is not supported.

16.3.2 User Interface

On a SMIL player window, a user would handle arrow keys to move focus on objects and anchors, and select the target which activates playback or linking. A pointing cursor "mouse-like" device might not be supported. So "move focus and select" is a simple user interface for communication with the SMIL player. The "click" can be mapped to a "activate" action. While a user is handling the focus, the player may slow or pause its timeline.

16.3.3 Timing and Synchronization

SMIL Timing and Synchronization presents dynamic and interactive multimedia according to a timeline. The SMIL timing model is expressed in a structured language effectively. The timeline normally needs to be calculated with limited resources of memory and the processor. For example, recursive function calls, caused by nesting elements, or memory allocation, for example by additional timelines, at any moment should be restricted. For the SMIL Basic Profile, the timeline should be a simple and single sequence of media objects.

To achieve this, the SMIL Basic profile describes restrictions on use of the SMIL Timing. The restrictions are:

16.3.4 Media Object

The Media Object Module provides reference to media which constitute the contents of the presentation, such as text, image, audio and video. Here it is assumed audio/visual multimedia presentation.

16.3.5 Content Control

Some functionality of the Content Control module may be replaced with CC/PP[CC/PP] mechanism, which provides a way to notify device capabilities and user preferences to an origin server and/or intermediaries such as a gateway or proxy. This allows the generation or selection of device-tailored contents. Thus CC/PP can be used with transformation of available documents between client and server.

Content Control Level 0 Module is included in SMIL Basic Profile when an alternative to the CC/PP mechanism is necessary. So the player should analyze switch syntax correctly even if it cannot recognize the test attributes.

16.3.6 Accessibility

There are useful guidelines to handling accessibility issues that can be applied to the profile design for information appliances. The document, "Accessibility Features of SMIL" [WAI-SMIL-ACCESS], summarizes their points in SMIL1.0

16.3.7 Use of SMIL Basic Profile

SMIL Basic profile is designed to be appropriate for small information appliances like mobile phones and portable disc players. Its simple design is intended to serve as a baseline profile for application specific extensions. Similar to HTML+SMIL, another use of SMIL Basic may be to integrate SMIL basic timing and media functionality into the HTML mobile profile.

The SMIL Basic Profile does not restrict extension and inclusion of other levels and modules, for example, the Animation, Metainformation, or Transition Module.

16.4 Definition of SMIL Basic Profile

This section is normative.

16.4.1 SMIL Basic Profile

The SMIL Basic Profile supports the lightweight multimedia features defined in SMIL language. This profile includes the following SMIL modules:

(*) = required modules to be a member of the SMIL language profile family[SMIL-MOD].

Collections used in this profile

Collections used in the tables below are defined as follows:
Collection Name Elements in Collection
Schedule par, seq
MediaContent text, img, audio, video, ref, animation, textstream
EMPTY  
Collection Name Attributes in Collection
Core id, class, title
Timing begin, dur, end, repeat(deprecated), repeatCount, repeatDur
Description abstract, author, copyright
I18n xml:lang
Test systemBitrate(system-bitrate), systemCaptions(system-captions), systemLanguage(system-language), system-overdub-or-caption, systemRequired(system-required), systemScreenSize(system-screen-size), systemScreenDepth(system-screen-depth), systemOverdubOrSubtitle, systemAudioDesc, systemOperatingSystem, systemCPU, systemComponent

16.4.2 Layout Module

The Layout Module provides a framework for spatial layout of visual components. The SMIL Basic profile adopts the SMIL Level 0 Layout module with layout type of text/smil-basic-layout.
Elements Attributes Content Model
layout Core, I18n, type root-layout, region
region Core, I18n, backgroundColor(background-color), bottom, fit, height, left, right, top, width, z-index EMPTY
root-layout Core, I18n, backgroundColor(background-color), height, width EMPTY

16.4.3 Linking Module

The Linking Module describes the hyperlink relationships between content. The SMIL Basic profile adopts the SMIL Linking Level 0 and Level 1 Modules.

A SMIL Basic player may not be able to control links between the source and the destination object, for example, in applying sourceLevel and destinationLevel attributes to volume. Then, the attributes of target control, which are listed in the table below, are just ignored. In the SMIL Basic Profile, it can be assumed that the default value for show is replace and that for sourcePlaystate is pause, same as these are defined in the SMIL Linking Module.

The area(anchor) element may not be supported without appropriate user interface, then the SMIL Basic player should play the presentation without the area map.
Elements Attributes Content Model
a Core, I18n, Timing, href, show, sourcePlaystate, destinationPlaystate, sourceLevel, destinationLevel, accesskey, tabindex, target, external, actuate MediaContent
area(anchor) Core, I18n, Timing, alt, coords, href, show, sourcePlaystate, destinationPlaystate, sourceLevel, destinationLevel, accesskey, tabindex, target, external EMPTY

16.4.4 Media Object Module

The Media Object Module provides a framework for declaring media which constitute the contents of a SMIL presentation. The SMIL Basic profile includes the SMIL Media Object Level 0 Module.
Elements Attributes Content Model
text Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type EMPTY
img Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type area
audio Core, I18n, Description, Timing, Test, src, region, alt, longdesc, abstract, type, clipBegin(clip-begin), clipEnd(clip-end) EMPTY
video Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type, clipBegin(clip-begin), clipEnd(clip-end) area
ref, animation, textstream Core, I18n, Description, Timing, Test, src, region, fill, alt, longdesc, type, clipBegin(clip-begin), clipEnd(clip-end) EMPTY

Elements of the Media Object module have attributes describing basic timing properties of contents. For timing, the begin and end attributes should have one value for determinate single timeline as specified in the SMIL Timing Level 0 Module.

If the player supports RTP (Real-time Transport Protocol) / RTSP (Real Time Streaming Protocol ), Streaming Media Object Module should be included.

16.4.5 Structure Module

The Structure Module describes the structure of the SMIL document. The SMIL Basic Profile adopts the SMIL Structure Level 0 Module.

The structure element body is implicitly defined to be a seq time container in SMIL1.0 and SMIL Boston language profile, and so it is in SMIL Basic Profile. However, SMIL Basic Profile adopts no nesting of time containers as mentioned in the section of Timing and Synchronization Module, and only allows a single level of explicit time container elements. To avoid this conflict, a SMIL-Basic document should have a par or seq time container as the first and only child of the body element.
Elements Attributes Content Model
smil Core, I18n head, body
head Core, I18n layout
body Core, I18n Schedule

16.4.6 Timing and Synchronization Module

The Timing and Synchronization Module provides a framework for describing timing structure, timing control properties, and temporal relationships between elements.

The SMIL Basic Profile includes the basic functionality of the SMIL Timing and Synchronization Module. It is based upon the SMIL Timing and Synchronization Level 0 Module (SMIL Timing Module) and includes a few constraints on its determinate timing. The constraints are single time container and single timing condition for the purpose of a simple scheduled timeline.

Time containers are defined in the SMIL Timing Module and they group elements with synchronization relationships. In a SMIL Basic document with single time container, par and seq time container elements contains media object elements and may not be nested. Therefore, these elements do not have begin and end attributes.

Attributes of the SMIL Timing Module apply to elements of the SMIL Media Object Module. Basics of timing are described in the SMIL Timing Module. Control of element start/end time is available with the begin, end, and dur attributes. For repeating elements, the repeat, repeatCount, and repeatDur attributes are available.

As mentioned in the SMIL Timing and Synchronization Level 0 Module, there is only one attribute value in begin and end attributes, not a semicolon-separated list in order to create determinate single timeline.
Elements Attributes Content Model
par Core, I18n, Timing, endsync switch, MediaContent, a
seq Core, I18n, Timing, endsync switch, MediaContent, a

16.4.7 Content Control Module

The Content Control Module provides a framework for selecting content. The SMIL Basic profile adopts the SMIL Content Control Level 0 Module. Therewith the skipContent element applys elements not included in the SMIL Basic Profile, which default value is "true".

A SMIL Basic player may not support nesting of switch, nor runtime selection of contents. Even if a player cannot recoginize test attributes in media object elements, the player should ignore the element and evaluate the next element following the Content Control syntax.
Elements Attributes Content Model
switch Core, I18n a, MediaContent

16.4.8 Conformance

A player of the SMIL Basic Profile should meet the following conformance criteria.

  1. The player must parse a SMIL document and evaluate its well-formedness consistently with XML1.0[XML10].
  2. The player ignores an unknown element.*
  3. The player ignores an unknown attribute.
  4. For an attribute with an unknown attribute value, the player substitutes the default attribute value.
  5. The player must conform to criteria defined in each module adopted in the profile.

(*) Note that SMIL provides skipContent attributes.

16.5 SMIL Basic Profile Document Type Definition (DTD)

This section is normative.

<!-- ....................................................................... -->
<!-- SMIL Basic DTD  ....................................................... -->
<!-- file: smilbasic.dtd
-->

<!-- SMIL Basic DTD

     This is SMIL Basic, a proper subset of SMIL Boston.

     Copyright 1998-2000 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the SMIL Basic DTD and
     its accompanying documentation for any purpose and without fee is
     hereby granted in perpetuity, provided that the above copyright notice
     and this paragraph appear in all copies.  The copyright holders make
     no representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Author:     Jacco van Ossenbruggen
        Revision:   $Id: smil-basicprofile.html,v 1.2 2000/06/22 17:41:42 hugo Exp $

-->
<!-- This is the driver file for the SMIL Basic DTD.

     Please use this formal public identifier to identify it:

         "-//W3C//DTD SMIL Basic//EN"
-->

<!ENTITY % SMIL.profile  "'-//W3C//DTD SMIL Basic//EN'">

<!-- Define the Content Model -->
<!ENTITY % smil-model.mod
    PUBLIC "-//W3C//ENTITIES SMIL-Basic Document Model 1.0//EN"
           "smilbasic-model-1.mod" >

<!-- Modular Framework Module  ................................... -->
<!ENTITY % smil-framework.module "INCLUDE" >
<![%smil-framework.module;[
<!ENTITY % smil-framework.mod
     PUBLIC "-//W3C//ENTITIES SMIL-Boston Modular Framework 1.0//EN"
            "smil-framework-1.mod" >
%smil-framework.mod;]]>

<!--    The SMIL Basic Profile supports the lightweight multimedia 
	features defined in SMIL language. This profile includes 
	the following SMIL modules:

             SMIL Level 0 Layout Module 
             SMIL Linking Level 0 & Level 1 Module 
             SMIL Media Object Level 0 Module 
             SMIL Structure Level 0 Module 
             SMIL Timing and Synchronization Level 0 Module 
                  (under restriction of single time container ) 

        And the following SMIL modules can be included optionally:

             SMIL Content Control Level 0 Module 
-->

<!-- Change this to in INCLUDE to enable the optional content control module -->
<!ENTITY % smil-control.module "IGNORE">
<![%smil-control.module;[
<!ENTITY % control-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Content Control//EN" 
  "SMIL-control.mod">
%control-mod;
]]>

<!-- These are all mandatory -->
<!ENTITY % layout-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Layout//EN"  
  "SMIL-layout.mod">
<!ENTITY % link-mod   
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Linking//EN"  
  "SMIL-link.mod">
<!ENTITY % media-mod  
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Media Objects//EN" 
  "SMIL-media.mod">
<!ENTITY % struct-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Document Structure//EN" 
  "SMIL-struct.mod">
<!ENTITY % timing-mod 
  PUBLIC "-//W3C//ELEMENTS SMIL-Boston Timing//EN" 
  "SMIL-timing.mod">

%layout-mod;
%link-mod;
%media-mod;
%struct-mod;
%timing-mod;

TBD: XML Schema.


previous   next   contents