6 Simple Timed Graphics
26.4303GPPRelease 17Timed graphicsTS
6.1 Media definition
6.1.1 Introduction
Simple Timed Graphics does not define any new media components, but instead refers to components from existing graphics and image formats. Each format has its own units which are described below. A Simple Timed Graphics "stream" may contain a combination of units of different types, some possibly containing basic interactivity.
This section defines media component entities that together make simple Timed Graphics.
6.1.2 Media component entities
6.1.2.1 JPEG
A JPEG image, as specified in [JPEG], is a timed graphics media entity. The support requirement for ISO/IEC JPEG only applies to the following two modes:
– baseline DCT, non-differential, Huffman coding, as defined in table B.1, symbol ‘SOF0’ in [6];
– progressive DCT, non-differential, Huffman coding, as defined in table B.1, symbol ‘SOF2’ [6].
6.1.2.2 GIF and PNG
GIF87a [7], GIF89a [8] and PNG [9] images are timed graphics media entities.
6.1.2.3 Timed Text
A timed text sample, as defined in section 5.17 of [4], is a timed graphics media entity.
6.2 Layout definition
6.2.1 Introduction
In Simple Timed Graphics, each graphic is given a position on the rendering surface.
6.2.2 Rendering position and composition
Graphics are rendered with a region (a concept derived from SMIL). A graphics box is then set within that region. This permits the terminal to position the graphics within the overall presentation. In the case that the graphic contains internal layout information e.g. an SVG graphic, the explicit layout mode defines the point which the graphic treats as an origin.
A Simple Timed Graphics region is defined which is a rendering area defined using the following attributes:
tx: Translation value from the coordinate origin (x component)
ty: Translation value from the coordinate origin (y component)
width: Width of the Timed Graphics Region
height: Height of the Timed Graphics Region
Figure 3: Illustration of graphics region using with a video being origin.
Graphics regions may be layered, in a similar way to the z-index in SMIL, using the ‘layer’ attribute.
Layer: Specifies the front-to-back ordering of the graphics region; lower numbers are closer to the viewer. 0 is the normal value, and -1 would be in front of track 0, and so on.
The actual representation of the abovementioned attributes is dependent on the transport/storage format and defined elsewhere.
If the content is provided along with stereoscopic 3D video, the disparity of the timed graphics may be signalled in order for it to be displayed at an appropriate depth thus avoiding any perceptual depth conflicts with the video. The disparity is the difference between the horizontal positions of a pixel representing the same point in space in the right and left views of a stereoscopic 3D image. Positive disparity values move the timed graphics away from the viewer whilst negative values move it towards the viewer. A value of zero places the timed graphics in the plane of the display screen. When rendering timed graphics accompanying stereo video, the UE shall make use of the disparity information so as to render the timed graphics appropriately.
NOTE: The disparity is measured in the same units as the track dimensions.
6.3 Random access
All Timed graphics samples are random access points (RAPs) and RAPs are processed by terminals in all states.
A RAP contains the entire content of a timed graphics sample and replaces the corresponding previous data.
There may be multiple timed graphics contents with the same timestamp. When received, the RAP replaces the corresponding previous data per content.
6.4 Timing and processing model
6.4.1 Timing model
Timed Graphics inherits the timing model from timed text [4]. This section defines the timing model of Timed Graphics samples.
The timed graphics samples are associated with the following parameters:
the media timestamp. The time when the timed graphics sample is applied;
the sample duration.
When multiple timed graphics contents are received simultaneously, the timing model is maintained separately for each content.
The actual representation of the abovementioned attributes is dependent on the transport/storage format and defined elsewhere.
6.4.2 Processing model
A RAP is processed as a complete replacement to the previous data of the corresponding contents. The same process is applied during tune-in and standard decoding.
Two RAPs with the same timestamp, and in the same flow (i.e. with the same content_ID) are considered redundant alternatives to each other. Upon reception of two such RAPs, it is not required to process both.
When multiple timed graphics contents are received simultaneously, the terminal processes each content separately.
6.5 Transport and Storage
6.5.1 Overview
6.5.2 Storage in ISO base media file format files
6.5.2.1 Track Header
A track header box with the following data is used for Timed Graphics tracks:
aligned(8) class TrackHeaderBox
extends FullBox(‘tkhd’, version, flags){
if (version==1) {
unsigned int(64) creation_time;
unsigned int(64) modification_time;
unsigned int(32) track_ID;
const unsigned int(32) reserved = 0;
unsigned int(64) duration;
} else { // version==0
unsigned int(32) creation_time;
unsigned int(32) modification_time;
unsigned int(32) track_ID;
const unsigned int(32) reserved = 0;
unsigned int(32) duration;
}
const unsigned int(32)[2] reserved = 0;
int(16) layer;
template int(16) alternate_group = 0;
template int(16) volume = 0;
const unsigned int(16) reserved = 0;
template int(32)[9] matrix=
{ 0x00010000,0,0,0,0×00010000,0,tx,ty,0x40000000 };
// unity matrix
unsigned int(32) width;
unsigned int(32) height;
}
The values tx, ty, width, height and layer are defined in section 6.2. All other values are defined as per the ISO base file format.
Note: This track header is identical to its use in [4].
6.5.2.2 Media component specific configurations
6.5.2.2.1 Introduction
Within the sample entry there are one or more boxes. Each box has two functions:
a) it declares that samples of that type may occur in the track;
b) it contains the setup information for samples of that type.
6.5.2.2.2 Timed Text
class TG3gttConfiguration extends Box(‘3gtt’) {
{
unsigned int(32) displayFlags;
signed int(8) horizontal-justification;
signed int(8) vertical-justification;
unsigned int(8) background-color-rgba[4];
BoxRecord default-text-box;
StyleRecord default-style;
FontTableBox font-table;
DisparityBox default-disparity;
}
The TimedText configuration contains the boxes defined for 3GPP Timed Text in clause 5.16 of [4], and that specification also defines which boxes are mandatory and which are optional.
6.5.2.2.3 JPEG, GIF and PNG
class TG3gttConfiguration extends Box(‘jpeg’)
{
BoxRecord default-box;
unsigned int(32) displayFlags;
}
class TG3gttConfiguration extends Box(‘gif ‘)
{
BoxRecord default-box;
unsigned int(32) displayFlags;
}
class TG3gttConfiguration extends Box(‘png ‘)
{
BoxRecord default-box;
unsigned int(32) displayFlags;
}
The graphics configurations all include a default-box, as a boxrecord and displayFlags as defined in clause 5.16 of [4]. The displayFlags declare transition/appearance behaviour and the fields continuous karaoke, write text vertically and fill text region shall be set to zero for non-text sample types.
6.5.2.3 Timed Graphics ContentID Box
class TG3gCIDBox extends FullBox(‘cid ‘) {
Uint(4) content_ID;
Uint(4) reserved = 0;
}
The TG3gCIDBox distinguishes Timed Graphics content. The default value (and recommended value for text flows) is zero.
Each stream of units with the same content_ID is a logically separate streams and should be processed independently.
6.5.2.4 Sample Entry Name and Format
The sample entry four-character code for timed graphics is ‘tigr’. One or more configuration boxes shall be present in the sample entry. A timed graphics ContentID box may be present in the sample entry.
6.5.2.5 Sample Format
The sample structure is very similar to that defined in section 5.17 of [4]. In that specification, the text string is preceded by a length field, and is followed by modifier boxes. In this specification, the text string or graphics element is enclosed in a box, whose type MUST match one of the configuration boxes in the sample entry. Modifier boxes are specific to the sample type.
The modifier boxes for a text sample are defined in [4].
The modifier boxes for a JPEG, PNG or GIF sample are as follows.
6.5.2.6 Sample Modifier Boxes
6.5.2.6.1 Appearance Delay
‘dlay’ – Specifies a delay after a Scroll or fade In and/or before Scroll or fade Out. A 32-bit integer specifying the delay, in the units of the timescale of the track. The default delay, in the absence of this box, is 0.
class ScrollDelayBox() extends SampleModifierBox (‘dlay’) {
unsigned int(32) scroll-delay;
}
6.5.2.6.2 HyperText
‘clik’ – Click-through link.
This box contains these values:
URLLength:– the number of bytes in the following URL
URL: UTF-8 characters – the linked-to URL
altLength:– the number of bytes in the following "alt" string
altstring: UTF-8 characters – an "alt" string for user display
The URL should be an absolute URL, as the context for a relative URL may not always be clear.
The "alt" string may be used as a tool-tip or other visual clue, as a substitute for the URL, if desired by the terminal, to display to the user as a hint on where the link refers.
Hypertext-linked graphics should not be scrolled. It is hard for the user to interact with moving graphics.
class TextHyperTextBox() extends TextSampleModifierBox (‘href’) { unsigned int(8) URLLength;
unsigned int(8) URL[URLLength];
unsigned int(8) altLength;
unsigned int(8) altstring[altLength];
}
6.5.2.6.3 Box Over-ride
‘tbox’ –box over-ride. This over-rides the default box set in the sample description.
class BoxBox() extends SampleModifierBox (‘tbox’) {
BoxRecord the-box;
}
6.5.2.6.4 Stereo Disparity
‘disp’ – Specifies the disparity shift for presenting the contents of this sample on a stereo display. The value expresses the pixel shift applied to each of the left and right views so the total disparity is twice the disparity-shift. A negative disparity indicates that the graphics appear closer to the viewer than the screen plane (the left image is shifted right and the right image is shifted left), a positive disparity is the opposite. The default disparity, in the absence of this box, is specified in the sample entry; if there is no disparity information in the sample entry, the disparity is inferred to be 0.
class DisparityBox() extends SampleModifierBox (‘disp’) {
signed int(16) disparity-shift-in-16th-pel;
}
disparity-shift-in-16th-pel represents 16 times the shift to be applied to the left on the left view and to the right on the right view.
NOTE: It allows for a 1/16th pixel accuracy which can be suitable when scaling the video scene to another resolution. Any processing (either at the encoder or the decoder) which needs to implement only integer values of disparity shift should round the values "towards the viewer" (i.e. that positive values of disparity are rounded down and negative values rounded up). The indication of the disparity value is similar to that of the DVB subtitles [11].
6.5.3 RTP payload format for Timed Graphics
6.5.3.1 General
The RTP payload format for Simple Timed Graphics is laid out the same as, and uses for the most part the same definition as, the RTP payload format for Timed Text (RFC 4396). The differences are:
a) that a new MIME type is used, to identify this as a Timed Graphics stream rather than simply Timed Text;
b) multiple Timed Graphics Streams my be packed into one RTP session, using the content_ID to distinguish them;
c) where the payload format talks about ‘the text string’ and a graphic element is in use, then the graphic element (e.g. JPEG picture) should be understood;
d) The U bit is specific to text and should be set to 0 for graphics.
Flows are identified in the content_ID in the 4 bits following the U bit in the common header; replace
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U| R |TYPE | LEN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4a. Common payload header fields
o R (4 bits) "Reserved bits": for future extensions. This field MUST be set to zero (0x0) and MUST be ignored by receivers.
With:
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U| CID |TYPE | LEN |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4b. Common payload header fields
o F (4 bits) contentID. This field distinguishes flows. The default value (and recommended value for text flows) is zero.
Each stream of units with the same contentID is a logically separate stream in the RTP session and should be processed independently.
6.6 Registered Types
6.6.1 RTP Payload format MIME Type
Type name: video
Subtype name: timedgraphics
Required parameters:
– As defined in [10]
Optional parameters:
– As defined in [10]
Encoding considerations:
– This media type is currently only defined for transport via RTP.
Security considerations:
– RTP packets using the payload format defined in the present document are subject to the security considerations discussed in the RTP specification [15] and any applicable RTP profile, e.g. AVP [21].
Interoperability considerations:
– None.
Published specification:
– 3GPP TS 26.430
Applications that use this media type:
– Timed Graphics Streaming applications.
Additional information:
– Magic number(s): None.
– File extension(s): None.
– Macintosh file type code(s): None.
Person and email address to contact for further information:
– John Meredith.
– john.meredith@3gpp.org
Intended usage:
– COMMON.
Restrictions on usage:
– None.
Author:
– 3GPP SA4 WG.
Change controller:
– 3GPP TSG SA.
6.6.2 ‘Codecs’ Parameter for 3GP files
When timed graphics content is supplied in 3GP files which are identified by MIME type, the ‘codecs’ parameter defined in [14] may be used to indicate that Timed Graphics content is present. The codecs parameter takes the sample entry name as defined above (that is, ‘tigr’).
Annex A (informative):
Change history
|
Change history |
|||||||
|
Date |
TSG # |
TSG Doc. |
CR |
Rev |
Subject/Comment |
Old |
New |
|
2010-03 |
47 |
SP-100027 |
Approved TSG SA#47 |
9.0.0 |
|||
|
2011-03 |
51 |
Version for Release 10 |
9.0.0 |
10.0.0 |
|||
|
2012-09 |
57 |
Version for Release 11 |
10.0.0 |
11.0.0 |
|||
|
2013-09 |
61 |
SP-130354 |
0002 |
1 |
3D timed graphic |
11.0.0 |
12.0.0 |
|
2015-12 |
70 |
Version for Release 13 |
12.0.0 |
13.0.0 |
|||
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2017-03 |
75 |
Version for Release 14 |
14.0.0 |
||||
|
2018-06 |
80 |
Version for Release 15 |
15.0.0 |
||||
|
2020-07 |
88-e |
Version for Release 16 |
16.0.0 |
||||
|
2020-08 |
Post SA#88-e |
Editorial |
16.0.1 |
||||
|
2020-10 |
Post SA#88-e |
Updated Change History Table to include the changes |
16.0.2 |
||||
|
2022-04 |
– |
– |
– |
– |
– |
Update to Rel-17 version (MCC) |
17.0.0 |