8 Profiles and Levels

26.1423GPPDynamic and Interactive Multimedia Scenes (DIMS)Release 17TS

8.1 Profiles

8.1.1 Introduction

A profile indicator in a stream indicates which features (also known as tools) are required to be supported on a terminal.

Profile indications are unsigned 8-bit integers. Only one profile is defined by the present document; other profiles may be defined in future.

When opening a bitstream, a terminal should check that the profile indicator is recognized by seeing whether the bitstream profile is equal to a profile supported in the terminal. Profile indicators can only be compared for equality; a terminal presented with an unknown profile indicator should assume it does not support the features required by the indicated profile.

The value 255 for the profile indication is defined to mean "no profile specified" and shall be used to mark bitstreams which are not known to conform to the requirements of any other profile.

The behaviour of a terminal when presented with a stream with an unrecognized profile, or profile 255, is unspecified.

8.1.2 Mobile profile

Mobile Profile : Profile Indicator Value 10.

Support for the following media types is also required in profile 10:

– Shall support the Still Image media format as specified in 7.5 of [7] and the Bitmap Graphics format as specified in 7.6 of [7].

– Shall support Speech as specified in 7.2 of [7] and Audio as specified in 7.3 of [7].

– Shall support Video as specified in 7.4 of [7].

– Shall support the 3GP file format as specified in 7.10 of [7].

As required in the SVG specification, SVG fonts shall be supported. The lack of hinting in SVG fonts means that small text which is anti-aliased may become unreadable. This problem is even more evident when text is rotated or animated. Recommendation: SVG fonts should be used with care.

The Open Font Format [4] should be supported at advanced simple text profile, level 2, with the following constraints: if Open Type fonts are supported, the DIMS client shall support downloadable OpenType fonts with TrueType outlines, TrueType hinting shall be supported for improved text readability, and advanced typographic features may be supported.

Note 1: When OpenType fonts are supported, download of them may be initiated using the font-face-uri element from [1].

Device-native fonts and fonts identified by generic family names may be used.

Uncompressed XML shall be supported. XML compressed with GZIP [11] shall be supported.

Note 2: Sub-systems may also require support for other media types (e.g. video) or codecs within those types (e.g. H.263) when support for DIMS is required.

8.2 Levels

8.2.1 Introduction

Level indicators provide a way to measure the degree of support required in a terminal to render a given scene or scene stream satisfactorily.

Level indications are unsigned 8-bit integers.

A level sets limits for quantitative parameters (e.g. a rotation angle) or measures (e.g. the overall bit-rate) of the format.

Level indicators are within the context of the profile indicator. All levels for a given profile use the same axes of measurement, but different profiles may use different axes; for example, one profile may have limits on rotation angle, and another profile leave that parameter un-limited. Within a given profile, the levels "nest", that is, if X<Y, then the requirements for a level with indicator X are lower than or equal to the requirements for a level with indicator Y, for the same profile.

The value 255 for the level indication is defined in all profiles to mean "no level specified" and shall be used in bitstreams not known to respect the limits of any known level for the indicated profile, and for all bitstreams labelled as "no profile specified". The behaviour of a terminal when presented with a stream with level 255 is unspecified.

DIMS Implementations will be able to use the level indicator to optimize the rendering of the content.

8.2.2 Level Axes

Levels may be measured on the following axes, or other parameters or measurable aspects of the stream. These values represent the maximum that the content may use, or expect., and hence the minimum the terminal must supply. For example, content must be usable if rendered into a minimum size pixel buffer and updated at the minimum pixel update rate.

1) Bitrate of the scene stream(s), including the initial scene, embedded graphics, audio, video, etc. (That is, the minimum bit-rate channel over which the scene could be delivered in a real-time fashion).

2) Bitrate of the stream(s) having the DIMS mediatype. (That is, excluding streams with other mediatypes, such as video, audio, etc.).

3) The maximum number of simultaneously playing video streams.

4) The maximum number of simultaneously playing audio streams.

5) The maximum number of simultaneously active DIMS Scenes.

6) The minimum output pixel buffer size needed for the scene to be usable. This is specified in nominally square pixels, as a width and height value (therefore 160×120 is wider than it is tall).

7) The maximum number of path segments over the entire scene.

8) The maximum total number of bytes in text content in text elements in the entire scene.

9) The maximum size of a single dash array.

10) The number of gradient stops in any single gradient.

The following limits should be respected by the content and should be supported by the terminal. However, these memory and CPU limits are for a reasonable scene with reasonable attribute values, in a scene which is un-scripted or has a reasonable amount of scripting. Use of large attribute values (e.g. long paths or strings), complex nodes, or scripts that are demanding in memory or processor usage will have an impact on performance and decodability.

1) The size of the DOM tree as measured by the number of nodes in the tree; the number of attributes, or the size of their values, is not calculated.

2) The expected minimum refresh rate of the pixel output buffer (e.g. as a result of animations, updates, or script actions) for the scene to be usable. This is expressed as a frame rate.

3) The maximum number of animations that run concurrently.

The following subclauses define the available levels.

8.2.3 Mobile Profile Level 10 definition

This level contains the following restrictions:

– Only one instantiation of a DIMS Scene is allowed.

– Only one Video instantiation along with a DIMS Scene is allowed.

On the Video Element, the attribute transformBehavior shall be restricted to values "pinned | pinned90 | pinned180 | pinned270", and the attribute overlay shall be restricted to values "top".

The following limits also apply:

Mobile Profile Level Limits

Level 10

1 Scene bitrate (includes the static media embedded within the scene/commands and referenced media payloads)

200 kbit/sec

2 DIMS aggregate bit-rate (excludes media payloads)

40 kbit/sec

3 Simultaneous video playing

1

4 Simultaneous audio playing

1

5 Simultaneous active DIMS scenes

1

6 Minimum pixel output buffer size

160 wide by 120 tall

7 Maximum path segments across all paths

3000

8 Maximum text content size (this refers to the number of characters and does not include the glyph)

10k bytes

9 Maximum dash array size

16

10 Maximum number of gradient stops

32

1 Maximum recommended DOM tree size

800 nodes

2 Minimum recommended screen refresh rate

Note: Depending on the DOM tree size, the recommended screen refresh rate value may not be feasible and a lower screen refresh rate might be expected.

10 frames/sec

3 Maximum simultaneous animations

20

8.2.4 Void