topical media & game development
...

1
RM3D -- not a standard
The web started with simple HTML hypertext pages.
After some time static images were allowed.
Now, there is support for all kinds of user interaction,
embedded multimedia and even synchronized hypermedia.
But despite all the graphics and fancy animations,
everything remains flat.
Perhaps surprisingly, the need for a 3D web standard arose
in the early days of the web.
In 1994, the acronym VRML was coined by Tim Berners-Lee,
to stand for
Virtual Reality Markup Language.
But, since 3D on the web is not about text but more
about worlds, VRML came to stand for
Virtual Reality Modeling Language.
Since 1994, a lot of progress has been made.
www.web3d.org
- VRML 1.0 -- static 3D worlds
- VRML 2.0 or VRML97 -- dynamic behaviors
- VRML200x -- extensions
- X3D -- XML syntax
- RM3D -- Rich Media in 3D
In 1997, VRML2 was accepted as a standard, offering rich means
to create 3D worlds with dynamic behavior and user interaction.
VRML97 (which is the same as VRML2) was, however, not the success
it was expected to be, due to (among others)
incompatibility between browsers,
incomplete implementations of the standards,
and high performance requirements.
As a consequence, the Web3D Consortium (formerly the VRML Consortium)
broadened its focus, and started thinking about
extensions or modifications of VRML97 and an XML version of
VRML (X3D).
Some among the X3D working group felt the need to rethink
the premisses underlying VRML and started
the Rich Media Working Group:
groups.yahoo.com/group/rm3d/
The Web3D Rich Media Working Group was formed to develop a Rich Media standard format (RM3D) for use in next-generation media devices. It is a highly active group with participants from a broad range of companies including 3Dlabs, ATI, Eyematic, OpenWorlds, Out of the Blue Design, Shout Interactive, Sony, Uma, and others.
In particular:
RM3D
The Web3D Consortium initiative is fueled by a clear need for a standard high performance Rich Media format. Bringing together content creators with successful graphics hardware and software experts to define RM3D will ensure that the new standard addresses authoring and delivery of a new breed of interactive applications.
The working group is active in a number of areas including,
for example, multitexturing and the integration of video
and other streaming media in 3D worlds.
Among the driving forces in the RM3D group
are Chris Marrin and Richter Rafey, both from Sony,
that proposed Blendo, a rich media extension
of VRML.
Blendo has a strongly typed object model,
which is much more strictly defined than the VRML object model,
to support both declarative and programmatic extensions.
It is interesting to note that the premisse underlying the
Blendo proposal confirms (again) the primacy of the TV metaphor.
That is to say, what Blendo intends to support
are TV-like presentations which allow for user
interaction such as the selection of items or playing a game.
Target platforms for Blendo include graphic PCs, set-top boxes,
and the Sony Playstation!
...

2
requirements
The focus of the RM3D working group is not syntax
(as it is primarily for the X3D working group)
but semantics,
that is to enhance the VRML97 standard to effectively
incorporate rich media.
Let's look in more detail at the requirements as
specified in the RM3Ddraft proposal.
requirements
- rich media -- audio, video, images, 2D & 3D graphics
(with support for temporal behavior, streaming and synchronisation)
- applicability -- specific application areas, as determined by
commercial needs and experience of working group members
The RM3D group aims at interoperability with other
standards.
- interoperability -- VRML97, X3D, MPEG-4, XML (DOM access)
In particular, an XML syntax is being defined in parallel
(including interfaces for the DOM).
And, there is mutual interest and exchange of ideas between the
MPEG-4 and RM3D working group.
As mentioned before, the RM3D working group has a strong
focus on defining an object model
(that acts as a common model for the representation of
objects and their capabilities) and suitable
mechanisms for extensibility
(allowing for the integration of new objects defined in Java or
C++, and associated scripting primitives and declarative
constructs).
- object model -- common model for representation of objects and capabilities
- extensibility -- integration of new objects (defined in Java or C++), scripting capabilities and declarative content
Notice that extensibility also requires the definition of
a declarative format, so that the content author need
not bother with programmatic issues.
The RM3D proposal should result in effective
3D media presentations.
So as additional requirements we may,
following the working draft, mention:
high-quality realtime rendering, for realtime interactive
media experiences;
platform adaptability, with query functions for programmatic
behavior selection;
predictable behavior, that is a well-defined order of execution;
a high precision number systems, greater than single-precision IEEE
floating point numbers; and
minimal size, that is both download size and memory footprint.
- high-quality realtime rendering -- realtime interactive media experiences
- platform adaptability -- query function for programmatic behavior selection
- predictable behavior -- well-defined order of execution
- high precision number systems -- greater than single-precision IEEE floating point numbers
- minimal size -- download and memory footprint
Now, one may be tempted to ask how the RM3D proposals
is related to the other standard proposals
such as MPEG-4 and SMIL, discussed previously.
Briefly put, paraphrased from one of Chris Marrin's
messages on the RM3D mailing list
SMIL is closer to the author
and RM3D is closer to the implementer.
MPEG-4, in this respect is even further away from the
author since its chief focus is on compression
and delivery across a network.
RM3D takes 3D scene description as a starting point
and looks at pragmatic ways to integrate rich media.
Since 3D is itself already computationally intensive,
there are many issues thatarise in finding
efficient implementations for the proposed solutions.
...

3
timing model
RM3D provides a declarative format formany
interesting features, such as for example texturing objects
with video.
In comparison to VRML, RM3D is meant to provide more temporal
control over time-based media objects and animations.
However, there is strong disagreement among the working
group members as to what time model the dynamic capabilities
of RM3D should be based on.
As we read in the working draft:
working draft
Since there are three vastly different proposals for this section (time model), the original <RM3D> 97 text
is kept. Once the issues concerning time-dependent nodes are resolved, this section can be
modified appropriately.
Now, what are the options?
Each of the standards discussed to far
provides us with a particular solution to timing.
Summarizing, we have a time model based on a spring metaphor in MPEG-4,
the notion of cascading time in SMIL (inspired by
cascading stylesheets for HTML) and timing based on the
routing of events in RM3D/VRML.
time model
- MPEG-4 -- spring metaphor
- SMIL -- cascading time
- RM3D/VRML -- event routing
The MPEG-4 standard introduces the spring metaphor
for dealing with temporal layout.
MPEG-4 -- spring metaphor
- duration -- minimal, maximal, optimal
The spring metaphor amounts to the ability
to shrink or stretch a media object within given bounds
(minimum, maximum)
to cope with, for example, network delays.
The SMIL standard is based on a model
that allows for propagating durations and time manipulations
in a hierarchy of media elements.
Therefore it may be referred to as a
cascading modelof time.
SMIL -- cascading time
- time container -- speed, accelerate, decelerate, reverse, synchronize
Media objects, in SMIL, are stored in some sort of container
of which the timing properties can be manipulated.
<seq speed="2.0">
<video src="movie1.mpg" dur="10s"/>
<video src="movie2.mpg" dur="10s"/>
<img src="img1.jpg" begin="2s" dur="10s">
<animateMotion from="-100,0" to="0,0" dur="10s"/>
</img>
<video src="movie4.mpg" dur="10s"/>
</seq>
In the example above,we see that the speed is set to 2.0,
which will affect the pacing of each of the individual
media elements belonging to that (sequential) group.
The duration of each of the elements is specified
in relation to the parent container.
In addition, SMIL offers the possibility to
synchronize media objects to control, for example,
the end time of parallel media objects.
VRML97's capabilities for timing
rely primarily on the existence of a
TimeSensor thatsends out time events
that may be routed to other objects.
RM3D/VRML -- event routing
- TimeSensor -- isActive, start, end, cycleTime, fraction, loop
When a TimeSensor starts to emit time events,
it also sends out an event notifying other objects
that it has become active.
Dependent on itsso-called cycleTime,
it sends out the fraction it covered
since it started.
This fraction may be send to one of the standard
interpolators or a script so that some value can be set,
such as for example the orientation,
dependent on the fraction of the time intercal that has passed.
When the TimeSensor is made to loop,
this is done repeatedly.
Although time in VRML is absolute,
the frequency with which fraction events are emitted depends
on the implementation and processor speed.
Lacking consensus about a better model,
this model has provisionally been adopted,
with some modifications, for RM3D.
Nevertheless, the SMIL cascading time model
has raised an interest in the RM3D working group,
to the extent that Chris Marrin remarked (in the mailing list)
"we could go to school here".
One possibility for RM3D would be to
introduce time containers
that allow for a temporal transform of
their children nodes,
in a similar way as grouping containers
allow for spatial transforms of
their children nodes.
However,
that would amount to a dual hierarchy,
one to control (spatial) rendering
and one to control temporal characteristics.
Merging the two hierarchies,
as is (implicitly) the case in SMIL,
might not be such a good idea,
since the rendering and timing semantics of
the objects involved might be radically different.
An interesting problem, indeed,
but there seems to be no easy solution.
(C) Æliens
18/6/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.