ISO/IEC 14496-20:2006/Amd 1:2008
(Amendment)Information technology — Coding of audio-visual objects — Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) — Amendment 1: LASeR extensions
Information technology — Coding of audio-visual objects — Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) — Amendment 1: LASeR extensions
Technologies de l'information — Codage des objets audiovisuels — Partie 20: Représentation de scène d'application allégée (LASeR) et format d'agrégation simple (SAF) — Amendement 1: Extensions LASeR
General Information
- Status
- Withdrawn
- Publication Date
- 02-Mar-2008
- Withdrawal Date
- 02-Mar-2008
- Current Stage
- 9599 - Withdrawal of International Standard
- Start Date
- 20-Nov-2008
- Completion Date
- 14-Feb-2026
Relations
- Effective Date
- 06-Jun-2022
- Effective Date
- 28-Aug-2008
- Effective Date
- 28-Aug-2008
- Effective Date
- 15-Apr-2008
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

NYCE
Mexican standards and certification body.
Sponsored listings
Frequently Asked Questions
ISO/IEC 14496-20:2006/Amd 1:2008 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology — Coding of audio-visual objects — Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) — Amendment 1: LASeR extensions". This standard covers: Information technology — Coding of audio-visual objects — Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) — Amendment 1: LASeR extensions
Information technology — Coding of audio-visual objects — Part 20: Lightweight Application Scene Representation (LASeR) and Simple Aggregation Format (SAF) — Amendment 1: LASeR extensions
ISO/IEC 14496-20:2006/Amd 1:2008 is classified under the following ICS (International Classification for Standards) categories: 35.040 - Information coding; 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 14496-20:2006/Amd 1:2008 has the following relationships with other standards: It is inter standard links to ISO/IEC 14496-20:2006, ISO/IEC 14496-20:2008/Amd 1:2009, ISO/IEC 14496-20:2008; is excused to ISO/IEC 14496-20:2006. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
ISO/IEC 14496-20:2006/Amd 1:2008 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14496-20
First edition
2006-06-15
AMENDMENT 1
2008-03-01
Corrected version
2008-04-15
Information technology — Coding of
audio-visual objects —
Part 20:
Lightweight Application Scene
Representation (LASeR) and Simple
Aggregation Format (SAF)
AMENDMENT 1: LASeR extensions
Technologies de l'information — Codage des objets audiovisuels —
Partie 20: Représentation de scène d'application allégée (LASeR) et
format d'agrégation simple (SAF)
AMENDEMENT 1: Extensions LASeR
Reference number
ISO/IEC 14496-20:2006/Amd.1:2008(E)
©
ISO/IEC 2008
ISO/IEC 14496-20:2006/Amd.1:2008(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains:
1) the publication ISO/IEC 14496-20:2006/Amd.1:2008 in portable document format (PDF), which can
be viewed using Adobe® Acrobat® Reader;
2) electronic attachments relating to LASeR.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.
© ISO/IEC 2008
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this
...
INTERNATIONAL ISO/IEC
STANDARD 14496-20
First edition
2006-06-15
AMENDMENT 1
2008-03-01
Corrected version
2008-04-15
Information technology — Coding of
audio-visual objects —
Part 20:
Lightweight Application Scene
Representation (LASeR) and Simple
Aggregation Format (SAF)
AMENDMENT 1: LASeR extensions
Technologies de l'information — Codage des objets audiovisuels —
Partie 20: Représentation de scène d'application allégée (LASeR) et
format d'agrégation simple (SAF)
AMENDEMENT 1: Extensions LASeR
Reference number
ISO/IEC 14496-20:2006/Amd.1:2008(E)
©
ISO/IEC 2008
ISO/IEC 14496-20:2006/Amd.1:2008(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2008
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies 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 collaborate 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 committee, 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 of 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.
Amendment 1 to ISO/IEC 14496-20:2006 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
This corrected version of ISO/IEC 14496-20:2006/Amd.1:2008 incorporates the following corrections: a
change to the title of the amendment and the provision of updated electronic attachments relevant to LASeR.
© ISO/IEC 2008 – All rights reserved iii
ISO/IEC 14496-20:2006/Amd.1:2008(E)
Information technology — Coding of audio-visual objects —
Part 20:
Lightweight Application Scene Representation (LASeR) and
Simple Aggregation Format (SAF)
AMENDMENT 1: LASeR extensions
Replace all occurrences of the word “browser” with “LASeR engine”.
In Clause 2, add the following references:
ISO/IEC 9899:1990, Information technology — Programming Languages C
ISO/IEC 14882, Programming languages — C++
ISO/IEC 16262:2002, Information technology — ECMAScript language specification
IETF BCP 13, RFC 4288 on Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures
IETF RFC 3023, XML Media Types, M. Murata, S. St.Laurent, D. Kohn, January 2001,
http://www.ietf.org/rfc/rfc3023.txt
IETF RFC 3986, Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter,
January 2005, http://www.ietf.org/rfc/rfc3986.txt
Add the following definition of waiting tree to clause 3:
waiting tree
separate tree defined in addition to the scene tree
NOTE The compositor and renderer have no knowledge of the waiting tree, thus objects in the waiting tree are
neither composited nor rendered.
Add the following subclause to Clause 5:
5.2 LASeR Systems Decoder Model
5.2.1 Introduction
The purpose of the LASeR Systems decoder model is to provide an abstract view of the behaviour of the
terminal complying with this International Standard. It may be used by the sender to predict how the receiving
terminal will behave in terms of buffer management and synchronization when decoding data received in the
© ISO/IEC 2008 – All rights reserved 1
ISO/IEC 14496-20:2006/Amd.1:2008(E)
form of elementary streams. The LASeR systems decoder model includes a timing model and a buffer model.
The LASeR systems decoder model specifies:
1. the conceptual interface for accessing data streams (Delivery Layer),
2. decoding buffers for coded data for each elementary stream,
3. the behavior of elementary stream decoders,
4. composition memory for decoded data from each decoder, and
5. the output behavior of composition memory towards the compositor.
Each elementary stream is attached to one single decoding buffer.
Delivery
Decoding Composition
Layer
Layer Layer
HTTP/SAF
Session
DB CB
Decoder
DB CB
SAF
Decoder
HTTP
DeMux
DB CB
Decoder Composition
DB
CB
Decoder
RTSP/
DB CB
Decoder
RTP
DB CB
Decoder
RTSP/RTP
Session
Figure AMD1.1 – LASeR Systems Decoder Model
The definition in ISO/IEC 14496-1 of Access Unit, Decoding Buffer(DB), elementary stream (ES), Decoder
(CU) and Composition Unit apply.
5.2.2 Decoder Model
The decoder model as specified in ISO/IEC 14496-1:2004 subclause 7.4.1 applies.
2 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
5.2.3 Decoding Buffer
The needed decoding buffer size is known by the sending terminal and conveyed to the receiving terminal as
specified in 7.6. The size of the decoding buffer is measured in bytes. The decoding buffer is filled at the rate
given by the maximum bit rate for this elementary stream while data is available and with a zero rate
otherwise. The maximum bit rate is conveyed by the sending terminal as a part of the decoder configuration
information during the set up phase for each elementary stream (see 7.6).
5.2.4 Decoder model with grouped streams
This decoder model may be enhanced when used for group of multiple elementary streams.
In such case, only one composition buffer for the group of streams is used for composition.
When such streams are grouped, and when the setup of multiple decoding chains are available, it is possible,
although not mandatory, not to decode all streams at a time.
Delivery Decoding
Composition
Layer Layer
Layer
DB
CB
Decoder
DB CB
Decoder Composition
DB CB
Decoder
Grouped
Selection of
Streams
active stream
Figure AMD1.2 – Stream grouping with specified System Decoder Model (multiple decoders)
It is indeed expected that multiple decoders may not be available in lightweight terminals or that some delivery
scenarios do not allow for having all streams available at the same time (e.g. in broadcast scenarios, the
delivery layer could only tune in to one of the streams). The usage of new information about this grouping
enables a smart usage of buffers and decoders.
© ISO/IEC 2008 – All rights reserved 3
ISO/IEC 14496-20:2006/Amd.1:2008(E)
DB A
sel 1 sel 2
DB B
CB
DB C
Figure AMD1.3 – Broadcast example of streams grouping, showing a potential optimization using a
single decoder.
When only a subset of the group of streams can be accessed at a time (e.g. broadcast scenario depicted
above), the selection of the active stream corresponds to a request for the corresponding streams.
Nevertheless, the buffer model for stream grouping does not assume immediate reception of data after such
request and therefore the active decoding buffer may continue to be used by the decoder up to the moment at
which data is available for the newly available stream. In this case the decoding buffer associated to the newly
connected stream can be associated with the decoder. At this point the terminal may discard any remaining
access units in the previous decoding buffer.
Add the following text to subclause 6.2.1 Scene Tree, at the end:
The API defined in Appendix A of [2] with IDL definitions in Appendix B of the same document can be used to
access the LASeR scene tree from programming languages such as ECMA-Script [ISO/IEC 16262], Java [5],
C [ISO/IEC 9899:1990] or C++ [ISO/IEC 14882:2002].
Replace subclause 6.5 with:
6.5. Events
6.5.1. Purposes of events
As in SVG, LASeR defines events following the XML Event specification [6]. The events defined in LASeR
relate to the management of the network session and decoding chains (including decoding buffers). The
events defined in the following subclauses can be used by elements in the scene such as script elements
being associated, through the listener element, in order to respond to such events.
Note : For instance, in a progressive download scenario, the "buffering" event could be listened by a script in
order to trigger a text indicating that content will be played shortly.
…
Content is being buffered
…
4 © ISO/IEC 2008 – All rights reserved
Delivery Layer
Decoder
ISO/IEC 14496-20:2006/Amd.1:2008(E)
In the previous example, the LASeRBuffering event is being listened to by a script "myscript". When the event
is launched by the browser, the visibility attribute of the text element is set to "visible".
These events are launched by the LASeR browser either at the "Network" Layer of the browser in which case,
the scope of these events is the session or at the decoding chain level, in which case the events are at the
stream level.
NOTE a session is identified by a unique url and streams are identified by a streamID.
6.5.2. Events imported from SVG Tiny
The list of supported events with their properties is given in Table AMD1.1.
Table AMD1.2 – List of supported events from SVGT1.2
Event name Namespace Description Bubble Canc.
“focusin” or “DOMFocusIn” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“focusout” or “DOMFocusOut” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“activate” or “DOMActivate” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“click” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“mousedown” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“mouseup” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“mouseover” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“mouseout” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes Yes
“mousemove” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“load” (or deprecated “SVGLoad”) http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. No No
“resize” (or deprecated “SVGResize”) http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“scroll” (or deprecated “SVGScroll”) http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“zoom” (or deprecated “SVGZoom”) http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“beginEvent” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“endEvent” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“repeatEvent” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2]. Yes No
“keyup” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2].
No No
“keydown” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2].
No No
“textInput” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2].
No No
“mouseWheel” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2].
No No
“timer” http://www.w3.org/2001/xml-events As defined in subclause 13.2 of [2].
No No
“preload” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“loadProgress” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“postLoad” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“connectionConnected” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“connectionClosed” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“connectionError” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“connectionDataSent” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
“connectionDataReceived” http://www.w3.org/2000/svg
As defined in subclause 13.2 of [2]. No No
© ISO/IEC 2008 – All rights reserved 5
ISO/IEC 14496-20:2006/Amd.1:2008(E)
6.5.3. Pseudo-events
Pseudo-events are shortcuts created by combinations of other events. Their definition follows:
Table AMD1.3 – List of pseudo-events
Event name Namespace Description Bubble Canc.
The key keyCode has been pressed, as defined in
subclause 16.2.7 of [2]. This pseudo-event is triggered
“accessKey(keyCode)” http://www.w3.org/2000/svg
No No
immediately by a listener on keydown placed on the
document node.
This pseudo-event is a combination of a listener on
keydown and a listener on keyup placed on the
“longAccessKey(keyCode)” urn:mpeg:mpeg4:laser:2005 document node; this pseudo-event is triggered if after a
No No
system-defined time A after the keydown event, no
keyup event has happened.
This pseudo-event is a combination of a listener on
keydown and a listener on keyup placed on the
document node; this pseudo-event is triggered after a
“repeatKey(keyCode)” urn:mpeg:mpeg4:laser:2005
No No
system-defined time B after the keydown event,
repeatedly every system-defined period C, until a keyup
event happens.
This pseudo-event is a combination of a listener on
keydown and a listener on keyup placed on the
document node; this pseudo-event is triggered if a
“shortAccessKey(keyCode)” urn:mpeg:mpeg4:laser:2005
No No
keyup event happens after a time shorter than A after
the keydown event. This is exclusive of
longAccessKey(k).
6.5.4. LASeR Events
LASeR defines the following events:
Table AMD1.4 – List of LASeR events
Event name Namespace Description Bubble Canc.
Freezes the clock of the timed object they are sent
“pause” urn:mpeg:mpeg4:laser:2005
No No
to, and have no effect on non timed objects.
Starts or resumes the clock of the timed object they
“play” urn:mpeg:mpeg4:laser:2005
No No
are sent to, and have no effect on non timed objects.
“pausedEvent” urn:mpeg:mpeg4:laser:2005 Occurs when a Timed Element is paused
Yes No
“resumedEvent” urn:mpeg:mpeg4:laser:2005 Occurs when a Timed Element is resumed
Yes No
Occurs when an element is activated, either as the
result of an Activate command or a change in an
“activatedEvent” urn:mpeg:mpeg4:laser:2005
No No
active attribute to the value true, applied to it or to
one of its ancestors.
Occurs when an element is deactivated, either as the
result of a Deactivate command or a change in an
“deactivatedEvent” urn:mpeg:mpeg4:laser:2005
No No
active attribute to the value false, applied to it or to
one of its ancestors.
The screen orientation has changed to typical
“screenOrientation0” urn:mpeg:mpeg4:laser:2005 No No
‘landscape’ orientation (LASeREvent)
The screen orientation has changed to typical
“screenOrientation90” urn:mpeg:mpeg4:laser:2005 No No
‘portrait’ orientation (LASeREvent)
The screen orientation has changed to inverted
“screenOrientation180” urn:mpeg:mpeg4:laser:2005 No No
‘landscape’ orientation (LASeREvent)
The screen orientation has changed to inverted
“screenOrientation270” urn:mpeg:mpeg4:laser:2005 No No
‘portrait’ orientation (LASeREvent)
Upon receiving such an event, a timed element
“stop” urn:mpeg:mpeg4:laser:2005 behaves as if the uDOM method endElement() was No No
called. (LASeREvent)
6 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
Example:
Typical usage for screen orientation events is to have a animation triggered by one of these events, the
animation changing the position/rotation of a group of scene elements to match the new screen orientation:
dur=”1s”/>
xlink:href=”#object2” dur=”1s”/>
xlink:href=”#object3” dur=”1s”/>
…
xlink:href=”#object1” dur=”1s”/>
xlink:href=”#object2” dur=”1s”/>
xlink:href=”#object3” dur=”1s”/>
…
6.5.5. General IDL definition of LASeR events.
interface LASeREvent : events::Event {};
All LASeR specific events are prefixed with LASeR.
6.5.6. IDL Events definitions
6.5.6.1 ExternalValueEvent
interface ExternalValueEvent : LASeREvent {
readonly attribute float absoluteValue;
readonly attribute boolean computableAsFraction;
readonly attribute float fraction;
};
No defined constants
Attributes
• absoluteValue: This value represent the status of a resource of any kind, e.g. the remaining battery
time.
• computableAsFraction: This value indicates whether a fraction can be computed from the
absoluteValue.
• fraction: This value shall be between 0 and 1 inclusively and represent the status of the resource, e.g.
the fraction of remaining battery time over operation time when fully charged.
No defined methods
Example: The following event could be defined:
Received by the document at system-dependent intervals and informs about the fraction of
“batteryState” urn:example:X
No No
battery charge remaining. (ExternalValueEvent)
© ISO/IEC 2008 – All rights reserved 7
ISO/IEC 14496-20:2006/Amd.1:2008(E)
and used as follows:
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:X="urn:example:X">
stroke-width="1">
begin="indefinite" from="red" to="blue"
dur="indefinite">
handler="#myBatteryAnim">
Add the following text to 6.7.1 before “The following restrictions apply to all commands”:
• Activate: to transfer an element from the waiting tree to the scene tree
• Deactivate: to transfer an element from the scene tree to the waiting tree
• ReleaseResource: to instruct the LASeR engine that a resource (typically media stream) will no
longer be used in the scene and may therefore be reclaimed.
Add the following text at the end of subclause 6.7.1:
A separate DOM tree is defined in addition to the scene tree: the waiting tree. The compositor and renderer
have no knowledge of the waiting tree, thus objects in the waiting tree are neither composited nor rendered.
The LASeR Commands are extended to search for elements first in the scene tree, then in the waiting tree if
the elements are not found in the scene tree. The commands Activate and Deactivate are defined to operate
on the waiting tree.
NOTE Elements placed in the waiting tree can be updated but are not accessible from the scene tree. A use element
pointing to an element placed into the waiting tree behaves as if the referred element did not exist, i.e. nothing is rendered.
Deactivating / activating a subtree with listeners may imply unregistering / registering the listeners observing elements not
in the waiting tree.
Example:
Press FIRE
...
Press FIRE
...
8 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
...
This simple example shows 2 independent modules. Since they use both the FIRE key, they cannot be both
“active” at the same time. The two conditionals at the end implement very simply an exclusive activation of the
two modules.
Add the following text at end of 6.7.10.1 (Save Command) Semantics:
Only attributes of elements identified by string IDs can be saved and restored reliably across scenes.
Attributes referencing elements by ID can only be saved and restored reliably across scenes if they hold a
string ID.
In subclause 6.7.11.2, add a bullet:
• intvalue2: this attribute defines the second int value of the event.
In subclause 6.7.11.2, replace the table with:
Attribute of
Name of event Attribute of SendEvent
event
TimeEvent detail intvalue
UIEvent detail intvalue
WheelEvent wheelDelta intvalue
screenX not carried
screenY not carried
MouseEvent
clientX pointvalue
clientY pointvalue
button intvalue
TextEvent data stringvalue
when used with accessKey, longAccessKey, shortAccessKey and
repeatKey, the key identifier follows the event name, e.g.
KeyEvent keyIdentifier accessKey(LEFT); with other key events, use stringvalue when
unknown keyIdentifier, otherwise use intvalue with LASeR-defined
keyIdentifier
not carried, the LASeR engine shall set
lengthComputable
this value to true if the value total is present
ProgressEvent
loaded intvalue
total invalue2
© ISO/IEC 2008 – All rights reserved 9
ISO/IEC 14496-20:2006/Amd.1:2008(E)
After subclause 6.7.11, add the following subclauses:
6.7.12 Activate
6.7.12.1 Semantics
The Activate command reverses the effect of the Deactivate command, i.e. it restores the target element from
the waiting tree to the scene tree. From the DOM point of view, the effect on the element is that the lsr:ghost
element is replaced by the element, e.g. using a DOM replaceChild.
Note – The lsr:ghost element may have been transferred to the waiting tree as part of a Activate command
applied to one of its ancestors.
6.7.12.2 Attributes
- ref: the id of the element which shall be restored from the waiting tree to the scene tree.
6.7.13 Deactivate
6.7.13.1 Semantics
The Deactivate command takes an element and places it into the waiting tree, so that it can be restored later
to the scene tree by a Activate command. From the DOM point of view, the effect on the element is:
- the element is replaced by an lsr:ghost element, e.g. using a DOM replaceChild, regardless of
whether the element is in the scene tree or in the waiting tree. Note: the element could already be in
the waiting tree if one of its ancestors has been placed in the waiting tree.
- the element is placed in the waiting tree.
NOTE The lsr:ghost element is never encoded nor transmitted nor rendered.
6.7.13.2 Attributes
- ref: the id of the element which shall be placed in the waiting tree.
6.7.14 ReleaseResource
6.7.14.1 Semantics
The ReleaseResource command instructs the LASeR engine that the indicated resource will no longer be
used in the scene. All associated LASeR engine resources (memory, I/O) may be reclaimed. All scene
elements that may be referencing this resource behave as if they pointed at a non available resource.
6.7.14.2 Attributes
- ref: this attribute defines the resource which may be discarded. It may be a stream ID or any other
URI.
In subclause 6.8.1, replace sentence:
The list of possible attributes for an element is given in the summary table in subclause 6.8.53.
with:
The list of possible attributes for an element is given in the summary table in subclause 6.9.
10 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
Add to subclause 6.8.4.1:
When an animate element is not active and it receives an ExternalValueEvent, then the element sets the
animation target attribute value as if the animation progress was at the fraction contained in the
ExternalValueEvent.
When an animate element is not active and it receives a ProgressEvent which has lengthComputable=true,
then the element sets the animation target attribute value as if the animation progress was at the fraction
loaded over total.
Add to subclause 6.8.5.1:
When an animateColor element is not active and it receives an ExternalValueEvent, then the element sets the
animation target attribute value as if the animation progress was at the fraction contained in the
ExternalValueEvent.
When an animateColor element is not active and it receives a ProgressEvent which has
lengthComputable=true, then the element sets the animation target attribute value as if the animation
progress was at the fraction loaded over total.
Add to subclause 6.8.6.1:
When an animateMotion element is not active and it receives an ExternalValueEvent, then the element sets
the animation target attribute value as if the animation progress was at the fraction contained in the
ExternalValueEvent.
When an animateMotion element is not active and it receives a ProgressEvent which has
lengthComputable=true, then the element sets the animation target attribute value as if the animation
progress was at the fraction loaded over total.
Add to subclause 6.8.7.1:
When an animateTransform element is not active and it receives an ExternalValueEvent, then the element
sets the animation target attribute value as if the animation progress was at the fraction contained in the
ExternalValueEvent.
When an animateTransform element is not active and it receives a ProgressEvent which has
lengthComputable=true, then the element sets the animation target attribute value as if the animation
progress was at the fraction loaded over total.
Add to subclause 6.8.10.1:
The children of the conditional element are not accessible through DOM or LASeR Commands.
Add to subclause 6.8.28.2:
• width: the width of the clipping rectangle. This can also be accessed through the x component of the size
field. This attribute is animatable but not inheritable.
• height: the height of the clipping rectangle. This can also be accessed through the y component of the
size field. This attribute is animatable but not inheritable.
• x: the horizontal coordinate of the center of the clipping rectangle. This attribute is animatable but not
inheritable.
• y: the vertical coordinate of the center of the clipping rectangle. This attribute is animatable but not
inheritable.
© ISO/IEC 2008 – All rights reserved 11
ISO/IEC 14496-20:2006/Amd.1:2008(E)
At the end of subclause 6.8.30.1 Semantics (of LASeR selector), add the following text:
In the following, N is the number of children of the selector element. The choice attribute determines the actual
rendering mode:
1. choice >= 0 & choice < N: only the child of index choice is displayed, i.e. is “on” while the other
children are “off”. The “off” children are neither composed nor rendered. animate* elements and
conditionals in the tree below “off” children are inactive.
2. choice == none | choice >= N: nothing is displayed. All children are “off”, i.e. neither composed nor
rendered. animate* elements and conditionals in the tree below “off” children are inactive.
3. in all other cases: all the children are displayed at (0,0) of the local coordinate system without clipping.
In case 1. and 2., when a child changes from “off” to “on”, its children with begin attributes get activated; when
a child changes from “on” to “off”, its children with end attributes get stopped.
At the end of subclause 6.8.34.2 Attributes (of svg), add the following text:
• lsr:fullscreen: the attribute ‘lsr:fullscreen’ is defined on the element to hint that the LASeR scene
should be rendered on the entire screen. The attribute can take two values “true” or “false”, with false
(normal rendering) being the default value. With the attribute set to true the LASeR UE should negotiate
the rendering area with its parent UE and get as large part of the screen as possible for the LASeR
rendering area. The attribute is neither animatable nor inheritable.
At the end of subclause 6.8.35 SVGT11 switch, add the following text:
This specification defines four extension strings in order to allow the use of the switch element to control the
initial layout of a scene according to the screen orientation:
- orient0 for typical ‘landscape’ orientation
- orient90 for typical ‘portrait’ orientation
- orient180
- orient270
An example of usage is:
… layout for portrait …
… layout for landscape…
After subclause 6.8.40, add the following subclauses:
6.8.41 AnimateScroll
6.8.41.1 Semantics
The purpose of this element is to allow to:
• scroll a set of objects of unknown size, inside a clipping rectangle.
• define the speed of the scrolling in terms of clip size, not in terms of the objects size
• define the bounds of scrolling precisely, according to the actual size of the objects
12 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
• define the beginning and ending conditions (screen full or empty of the objects)
• define automatic and manual scrolling (continuous scrolling, page advance on action…), and allow a
combination of automatic and manual
• define scroll stops (for manual scrolling) by page (size of viewport) or by object markers
The animateScroll element is designed in a manner similar to SMIL/SVG animate* elements. It works in
combination with a clipping region (lsr:rectClip element). Scrolling can be automatic or manual (e.g. triggered
by key events). The scrolling effect is obtained by a translation applied to all children of the lsr:rectClip
element. Multiple animateScroll and setScroll elements acting on the same objects combine in the same way
as multiple animateTransform elements with additive=”sum”.
Each frame where it is active, animateScroll does:
- if the element or one of its attributes has changed, recompute the element size
- depending on the parameters, compute the new position of the scrolled objects
The direction attribute of animateScroll is not sensitive to rotation.
Example 1: Plain vanilla
Que j’aime à faire apprendre ce nombre utile au sage. Immortel
Archimède, toi de qui Syracuse garde encore la mémoire.
delayAtStart="1" delayAtEnd="1" begin="3"
repeatDur="indefinite"/>
Que j ’aime à faire apprendre ce nombre utile au sage. Immortel Archimède, toi de qui Syracuse garde enc ore la mémoire.
Starting viewport Ending viewport
Figure AMD1.4 – Start and end states of Example 1
Example 2: Start and end conditions
Que j’aime à faire apprendre ce nombre utile au sage. Immortel
Archimède, toi de qui Syracuse garde encore la mémoire.
delayAtStart="1" delayAtEnd="1" begin="3"
repeatDur="indefinite" from="100 0" to="100 0"/>
Que j ’aime à faire apprendre ce nombre utile au sage. Immortel Archimède, toi de qui Syracuse garde enc ore la mémoire.
Starting viewport Ending viewport
Figure AMD1.5 – Start and end states of Example 2
The units of the from and to attributes are percents of the clip size. When the direction is “left”, from=”100 0”
means that the object is initially 100% of clip with to the right of the clip, which means right outside of the clip.
to=”100 0” means that the scrolled objects are, at the end of the animation, one clip width further to the left
than the default leading edge of the clipping zone in the scrolling direction.
© ISO/IEC 2008 – All rights reserved 13
ISO/IEC 14496-20:2006/Amd.1:2008(E)
Example 3: Manual mode
Que j’aime à faire apprendre ce nombre utile au sage.
id="t2"/>Immortel Archimède, toi de qui Syracuse garde encore la mémoire.
After clicking RIGHT
Que j’aime à faire apprendre ce nombre utile au sage. Immortel Archimède, toi de qui Syracuse garde encore la mémoire.
Starting viewport After clicking 2
Figure AMD1.6 – Start, interactive and end states of Example 3
Example 4: Mixed mode
Que j’aime à faire apprendre ce nombre utile au sage.
id="t2">Immortel Archimède, toi de qui Syracuse garde encore la
mémoire.
direction="left" speed="3" delayAtStart="1" delayAtEnd="1"
end="accessKey(2);accessKey(RIGHT);accessKey(LEFT)"/>
The above sample has one scrolling to the left in 3 seconds per clip width with 1s waiting at each end, and
looping indefinitely, unless the user presses a key. Pressing RIGHT or LEFT move the text by one page (one
clip width) left or right. Pressing 2 goes to “Immortel”. Pressing 0 resumes the automatic scrolling.
6.8.41.2 Attributes
- xlink:href: this attribute specifies the ID of an lsr:rectClip element containing the scrolled objects. In the
absence of this attribute, this element does not have any effect.
Animatable: no. Inheritable: no.
- by: this attribute specifies the relative translation and consists in 2 values, expressed in percents of the
clip size. The default value is 0 0. In case of repeated scrolling, this functions as an animateTransform
with accumulate=”sum”.
Animatable: no. Inheritable: no.
- from: this attribute specifies the starting position for the scrolling and consists in either 2 values,
expressed in percents of the clip size, or in an element ID. The default value is 0 0, for the leading edge of
the clipping zone in the scrolling direction. When from is an ID, it shall be the ID of a child of the scrolled
object; the scrolling shall start with the leading edge of the object matching the leading edge of the
clipping rectangle, according to the scrolling direction. from defines the minimum position of the clip.
Animatable: no. Inheritable: no.
- to: this attribute specifies the end of scrolling position and consists in either 2 values, expressed in
percents of the clip size, or in an element ID. The default value is 0 0, for the leading edge of the clipping
zone in the scrolling direction. When to is an ID, it shall be the ID of a child of the scrolled object; the
scrolling shall end with the trailing edge of the object matching the trailing edge of the clipping rectangle,
14 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
according to the scrolling direction. to defines the maximum position of the clip.
Animatable: no. Inheritable: no.
- delayAtStart: this attribute specifies the delay between the start of a cycle and the beginning of the
movement. The default value is 0 for no delay.
Animatable: no. Inheritable: no.
- delayAtEnd: this attribute specifies the delay between the end of the movement and the end of the cycle
(and the restart of the cycle if the animation is looping). The default value is 0 for no delay.
Animatable: no. Inheritable: no.
- direction: this enumeration specifies the scrolling direction: up, down, left, right. For example, “up” means
that the automatic scrolling move the scrolled objects toward the negative Ys. The default value is left.
Animatable: no. Inheritable: no.
- speed: this attribute expresses the time to scroll one page (or size of clipping zone) of text. It is exclusive
from dur/end. The default value is 0 for no scrolling at all.
Animatable: no. Inheritable: no.
- begin: this attribute specifies the beginning of the animation, in a similar manner as for the other animate*
elements. The default value is indefinite.
Animatable: no. Inheritable: no.
- dur: this attribute specifies the duration of the animation, including possible values of delayAtStart and
delayAtEnd. The value of dur, if specified, shall be greater than delayAtStart+delayAtEnd. The default
value is 0 for no scrolling.
Animatable: no. Inheritable: no.
- end: the difference between the value of begin and end specifies the duration of the animation, including
possible values of delayAtStart and delayAtEnd. The value of end, if specified, shall be greater than
begin+delayAtStart+delayAtEnd. The default value is indefinite.
Animatable: no. Inheritable: no.
- restart: this attribute specifies the restartability of the animation, in a similar manner as for the other
animate* elements. The default value is always.
Animatable: no. Inheritable: no.
- repeatCount: this attribute specifies the repeatability of the animation, in a similar manner as for the other
animate* elements. The default value is 0 for no repetition.
Animatable: no. Inheritable: no.
- repeatDur: this attribute specifies the repeatability of the animation, in a similar manner as for the other
animate* elements. The default value is 0 for no repetition.
Animatable: no. Inheritable: no.
- fill: this attribute specifies whether the text returns to its initial position before the animation (remove) or
keeps its last position (freeze). The default value is freeze.
Animatable: no. Inheritable: no.
6.8.42 SMIL animation
6.8.42.1 Semantics
The SMIL animation element is specified in subclause 7.3.1 of [W3C SMIL2]. Neither local IDs nor global IDs
are shared between the main scene containing the animation element and the subscene referred by the
animation element.
6.8.42.2 Attributes
• clipBegin: this attribute is defined in subclause 7.5.1 of [SMIL2]. The value represents a normal play time.
The value of clipBegin is taken into account when the media element is activated. The play time of some
streams cannot be controlled, and under these circumstances, this attribute has no effect. This attribute is
not animatable and not inheritable.
© ISO/IEC 2008 – All rights reserved 15
ISO/IEC 14496-20:2006/Amd.1:2008(E)
• clipEnd: this attribute is defined in subclause 7.5.1 of [SMIL2]. The value represents a normal play time.
The play time of some streams cannot be controlled, and under these circumstances, this attribute has no
effect. This attribute is not animatable and not inheritable.
• syncReference: this attribute holds a reference to the stream whose clock acts as a clock reference for
the stream referred to by this element. This attribute is not animatable and not inheritable.
• syncBehavior: this attribute is defined in subclause 6.3.1 of [SMIL2]. This attribute is not animatable and
not inheritable.
• syncTolerance: this attribute is defined in subclause 6.3.1 of [SMIL2]. This attribute is not animatable and
not inheritable.
6.8.43 SVGT1.1 font
The SVGT1.1 font element is specified in subclause 20.3 of [W3C SVG11]
6.8.44 SVGT1.1 font-face
The SVGT1.1 font-face element is specified in subclause 20.8.3 of [W3C SVG11]
6.8.45 SVGT1.1 font-face-src
The SVGT1.1 font-face-src element is specified in subclause 20.8.3 of [W3C SVG11]
6.8.46 SVGT1.1 font-face-uri
The SVGT1.1 font-face-uri element is specified in subclause 20.8.3 of [W3C SVG11]
6.8.47 SVGT1.1 font-face-name
The SVGT1.1 font-face-name element is specified in subclause 20.8.3 of [W3C SVG11]
6.8.48 SVGT1.1 glyph
The SVGT1.1 glyph element is specified in subclause 20.4 of [W3C SVG11]
6.8.49 SVGT1.1 missing-glyph
The SVGT1.1 missing-glyph element is specified in subclause 20.5 of [W3C SVG11]
6.8.50 SVGT1.1 hkern
The SVGT1.1 hkern element is specified in subclause 20.7 of [W3C SVG11]
6.8.51 LASeR setScroll
6.8.51.1 Semantics
The setScroll element is a simplified animateScroll. Examples are provided in the animateScroll subclause.
6.8.51.2 Attributes
• xlink:href: this attribute specifies the ID of an lsr:rectClip element containing the scrolled objects. In
the absence of this attribute, this element does not have any effect.
Animatable: no. Inheritable: no.
16 © ISO/IEC 2008 – All rights reserved
ISO/IEC 14496-20:2006/Amd.1:2008(E)
• increment: this attribute specifies the relative translation and consists in 2 values, expressed in
percents of the clip size. The scrolling increment is applied as many times as the element has been
activated. The default value is 0 0.
Animatable: no. Inheritable: no.
• to: this attribute specifies an absolute scrolling position and consists in either 2 values, expressed in
percents of the clip size, or in an element ID. The default value is 0 0, for the leading edge of the
clipping zone in the scrolling direction. When to is an ID, it shall be the ID of a child of the scrolled
object; the scrolled objects shall be placed such that the leading edge of the scrolled objects match
the leading edge of the clipping rectangle, according to the scrolling direction.
Animatable: no. Inheritable: no.
• direction: this enumeration specifies the scrolling direction: up,
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...