Digital Video Broadcasting (DVB); Subtitling systems

DVB Subtitling systems

Digitalna videoradiodifuzija (DVB) – Sistemi za podnaslove

General Information

Status
Published
Publication Date
31-Oct-2005
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
01-Nov-2005
Due Date
01-Nov-2005
Completion Date
01-Nov-2005
Standard
SIST ETS 300 743 E1:2005
English language
45 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)


SLOVENSKI STANDARD
01-november-2005
Digitalna videoradiodifuzija (DVB) – Sistemi za podnaslove
Digital Video Broadcasting (DVB); Subtitling systems
Ta slovenski standard je istoveten z: ETS 300 743 Edition 1
ICS:
33.170 Televizijska in radijska Television and radio
difuzija broadcasting
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

EUROPEAN ETS 300 743
TELECOMMUNICATION September 1997
STANDARD
Source: EBU/CENELEC/ETSI-JTC Reference: DE/JTC-DVB-17
ICS: 33.020
Key words: DVB, digital, video, broadcasting, TV
European Broadcasting Union Union Européenne de Radio-Télévision
Digital Video Broadcasting (DVB);
Subtitling systems
ETSI
European Telecommunications Standards Institute
ETSI Secretariat
Postal address: F-06921 Sophia Antipolis CEDEX - FRANCE
Office address: 650 Route des Lucioles - Sophia Antipolis - Valbonne - FRANCE
X.400: c=fr, a=atlas, p=etsi, s=secretariat - Internet: secretariat@etsi.fr
Tel.: +33 4 92 94 42 00 - Fax: +33 4 93 65 47 16
Copyright Notification:
No part may be reproduced except as authorized by written permission. The copyright and the
foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 1997.
© European Broadcasting Union 1997.
All rights reserved.
Page 2
ETS 300 743: September 1997
Whilst every care has been taken in the preparation and publication of this document, errors in content,
typographical or otherwise, may occur. If you have comments concerning its accuracy, please write to
"ETSI Editing and Committee Support Dept." at the address shown on the title page.

Page 3
ETS 300 743: September 1997
Contents
Foreword .5
1 Scope .7
2 Normative references.7
3 Definitions and abbreviations .7
3.1 Definitions .7
3.2 Abbreviations .8
4 Introduction to DVB subtitling system.9
4.1 Overview .9
4.2 Data hierarchy and terminology .10
4.3 Temporal hierarchy and terminology .10
5 Subtitle decoder model.11
5.1 Decoder temporal model .11
5.1.1 Service acquisition .11
5.1.2 Presentation Time Stamps (PTS) .12
5.1.3 Page composition.12
5.1.4 Region composition.12
5.1.5 Points to note .13
5.2 Buffer memory model .13
5.2.1 Pixel display buffer memory .13
5.2.2 Region memory.14
5.2.3 Composition buffer memory.14
5.3 Cumulative display construction .14
5.4 Decoder rendering bandwidth model.14
5.4.1 Page erasure.14
5.4.2 Region move or change in visibility .14
5.4.3 Region fill.15
5.4.4 CLUT modification.15
5.4.5 Graphic object decoding.15
5.4.6 Character object decoding .15
6 PES packet format .16
7 The PES packet data for subtitling.16
7.1 Syntax and semantics of the PES data field for subtitling .16
7.2 Syntax and semantics of the subtitling segment.16
7.2.1 Page composition segment.17
7.2.2 Region composition segment.19
7.2.3 CLUT definition segment.21
7.2.4 Object data segment .22
7.2.4.1 Pixel-data sub-block .24
7.2.4.2 Syntax and semantics of the pixel code strings.25
8 Requirements for the subtitling data .27
8.1 Scope of Identifiers .27
8.2 Scope of dependencies .27
8.2.1 Composition page .27
8.2.2 Ancillary page.27
8.3 Order of delivery .28
8.3.1 PTS field.28
8.4 Positioning of regions and objects .28
8.4.1 Regions .28

Page 4
ETS 300 743: September 1997
8.4.2 Objects sharing a PTS. 28
8.4.3 Objects added to a region. 28
8.5 Avoiding excess pixel-data capacity. 28
9 Translation to colour components . 28
9.1 4- to 2-bit reduction . 29
9.2 8- to 2-bit reduction . 29
9.3 8- to 4-bit reduction . 29
10 Default CLUTs and map-tables contents. 30
10.1 256-entry CLUT default contents . 30
10.2 16-entry CLUT default contents . 31
10.3 4-entry CLUT default contents . 31
10.4 2_to_4-bit_map-table default contents. 32
10.5 2_to_8-bit_map-table default contents. 32
10.6 4_to_8-bit_map-table default contents. 32
11 Structure of the pixel code strings (informative) . 33
Annex A (informative): How the DVB subtitling system works . 34
A.1 Data hierarchy and terminology. 34
A.2 Temporal hierarchy and terminology . 35
A.3 Decoder temporal model . 35
A.3.1 Presentation Time Stamps (PTS) . 35
A.3.2 Page composition. 35
A.3.3 Region composition. 36
A.3.4 Points to note . 36
A.4 Decoder display technology model. 36
A.4.1 Region based with indexed colours. 36
A.4.2 Colour quantization . 37
A.5 Decoder rendering bandwidth model. 37
A.5.1 Page erasure. 37
A.5.2 Region move or change in visibility . 38
A.5.3 Region erasure. 38
A.5.4 CLUT modification. 38
A.5.5 Graphic object decoding . 38
A.5.6 Character object decoding . 38
A.6 Examples of the subtitling system in operation . 39
A.6.1 Double buffering. 39
A.6.1.1 Instant graphics . 39
A.6.1.2 Stenographic subtitles . 42
A.7 Glossary. 44
History. 45

Page 5
ETS 300 743: September 1997
Foreword
This European Telecommunication Standard (ETS) has been produced by the Joint Technical Committee
(JTC) of the European Broadcasting Union (EBU), Comité Européen de Normalisation ELECtrotechnique
(CENELEC) and the European Telecommunications Standards Institute (ETSI).
NOTE: The EBU/ETSI JTC was established in 1990 to co-ordinate the drafting of ETSs in the
specific field of broadcasting and related fields. Since 1995 the JTC became a tripartite
body by including in the Memorandum of Understanding also CENELEC, which is
responsible for the standardization of radio and television receivers. The EBU is a
professional association of broadcasting organizations whose work includes the
co-ordination of its Members' activities in the technical, legal, programme-making and
programme-exchange domains. The EBU has active members in about 60 countries in
the European Broadcasting Area; its headquarters is in Geneva*.
* European Broadcasting Union
Case Postale 67
CH-1218 GRAND SACONNEX (Geneva)
Switzerland
Tel: +41 22 717 21 11
Fax: +41 22 717 24 81
Digital Video Broadcasting (DVB) Project
Founded in September 1993, the DVB Project is a market-led consortium of public and private sector
organizations in the television industry. Its aim is to establish the framework for the introduction of
MPEG-2 based digital television services. Now comprising over 200 organizations from more than
25 countries around the world, DVB fosters market-led systems, which meet the real needs, and
economic circumstances, of the consumer electronics and the broadcast industry.
Transposition dates
Date of adoption: 5 September 1997
Date of latest announcement of this ETS (doa): 31 December 1997
Date of latest publication of new National Standard
or endorsement of this ETS (dop/e): 30 June 1998
Date of withdrawal of any conflicting National Standard (dow): 30 June 1998

Page 6
ETS 300 743: September 1997
Blank page
Page 7
ETS 300 743: September 1997
1 Scope
This European Telecommunication Standard (ETS) specifies the method by which subtitles, logos and
other graphical elements may be coded and carried in DVB bitstreams. The system applies Colour
Look-Up Tables (CLUTs) to define the colours of the graphical elements. The transport of the coded
graphical elements is based on the MPEG-2 system described in ISO/IEC 13818-1 [1].
2 Normative references
This ETS incorporates by dated and undated reference, provisions from other publications. These
normative references are cited at the appropriate places in the text and the publications are listed
hereafter. For dated references, subsequent amendments to or revisions of any of these publications
apply to this ETS only when incorporated in it by amendment or revision. For undated references the latest
edition of the publication referred to applies.
[1] ISO/IEC 13818-1: "Coding of moving pictures and associated audio".
[2] ETS 300 468: "Digital Video Broadcasting (DVB); Service Information (SI) in
DVB systems".
[3] ISO/IEC 10646-1 (1993): "Information Technology - Universal Multiple Octet
Coded Character Set (UCS) - Part 1: Architecture and Basic Multilingual Plane".
[4] ITU-R Recommendation 601-3 (1992): "Encoding parameters of digital
television for studios".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of this ETS, the following definitions apply:
ancillary page: An optional page that can be used to carry CLUT definition and object data segments that
can be shared by more than one subtitle stream. For example, the ancillary page can be used to carry
logos or character glyphs.
Colour Look-Up Table (CLUT): A look-up table applied in each region for translating the objects' pseudo-
colours into the correct colours on the screen. In most cases, one CLUT is sufficient to present correctly
the colours of all objects in a region, but if it is not enough, then the objects can be split horizontally into
smaller objects that, combined in separate regions, need not more than one CLUT per region.
CLUT-family: A family of CLUTs which consists of:
- one CLUT with 4 entries;
- one CLUT with 16 entries;
- one CLUT with 256 entries.
NOTE 1: Three CLUTs are defined to allow flexibility in the decoder design. Not all decoders
may support a CLUT with 256 entries, some may provide sixteen or even only four
entries. A palette of four colours would be enough for graphics that are basically
monochrome, like subtitles, while a palette of sixteen colours allows for cartoon-like
coloured objects. Having a CLUT of only four entries does not imply that only a rigid
colour scheme can be used. The colours that correspond to the four entries can be
redefined, for instance from a black-grey-white scheme to a blue-grey-yellow scheme.
Furthermore, a graphical unit may be divided into several regions that are linked to
different CLUTs, i.e. a different colour scheme may be applied in each of the regions.
composition page: The page which carries the page composition. This page may contain graphical
elements as well. Those elements that may be shared by different screen layouts are carried in an
"ancillary page".
Page 8
ETS 300 743: September 1997
NOTE 2: Thus, alternative screen layouts, defined as different page compositions, may use the
same CLUTs and objects. There is no need to convey the common information for
each screen layout separately. This sharing is particularly useful when subtitles are
provided in several languages, all combined with the same logo. To retain flexibility,
the position at which a region is shown on the screen is not a property of that region
itself, but defined in the page composition, so that a shared region may be shown in
different locations on different screen layouts.
decoder state: Pixel and composition buffer memory allocations and values.
display: A completed set of graphics.
display set: The set of segments that operate on the decoder state between page composition segments
to produce a new display.
display sequence: A sequence of one or more displays.
epoch: The period between resets to the decoder state caused by page composition segments with page
state = "mode change".
object: Anything that can be presented on a TV screen, e.g. a subtitle, a logo, a map, etc. An object can
be regarded as a graphical unit. Each has its own unique ID-number.
packet identifier: See ISO/IEC 13818-1 [1].
page composition: The top-level definition of a screen layout. Several regions may be shown
simultaneously on the screen; those regions are listed in the page composition. At any one time, only one
page composition can be active for displaying, but many may be carried simultaneously in the bitstream.
PES packet: See ISO/IEC 13818-1 [1].
pixel-data: A string of data bytes that contains, in coded form, the representation of a graphical object.
region: A rectangular area on the screen in which objects are shown. Objects that share one or more
horizontal scan lines on the screen are included in the same region.
NOTE 3: A region therefore monopolizes the scan lines of which it occupies any part; no two
regions can be presented horizontally next to each other.
transport packet: See ISO/IEC 13818-1 [1].
transport packet stream: A sub-set of the transport packets in a transport stream sharing a common
Packet Identifier (PID).
transport stream: See ISO/IEC 13818-1 [1]. A data stream carrying one or more MPEG programs.
subtitle stream: A stream of subtitling segments that when decoded will provide a sequence of subtitling
graphics meeting a single communication requirement (e.g. the graphics to provide subtitles in one
language for a one program). A subtitling stream may contain data from a single page (the composition
page) or from two pages (the composition page and the ancillary page).
3.2 Abbreviations
For the purposes of this ETS, the following abbreviations apply:
bslbf bit string, left bit first
Cb as defined in ITU-R Recommendation 601-3 [4] (see subclause 7.2.3)
CLUT Colour Look-Up Table
Cr as defined in ITU-R Recommendation 601-3 [4] (see subclause 7.2.3)
DVB Digital Video Broadcasting
IRD Integrated Receiver Decoder
MPEG Moving Pictures Experts Group

Page 9
ETS 300 743: September 1997
PCR Programme Clock Reference
PCS Page Composition Segments
PES Packetized Elementary Stream
PID Packet IDentifier
PMT Program Map Table
PTS Presentation Time Stamp
RCS Region Composition Segments
ROM Read-Only Memory
TS Transport Stream
uimsbf unsigned integer, most significant bit first
Y as defined in ITU-R Recommendation 601-3 [4] (see subclause 7.2.3)
4 Introduction to DVB subtitling system
This ETS specifies the transport and coding of graphical elements in the DVB subtitling system.
4.1 Overview
To provide efficient use of the display memory in the decoder this subtitling system uses region based
graphics with indexed pixel colours. Each display is composed of a number of regions with specified
position. A region is a rectangular area with a horizontal and vertical size, pixel depth. A region can have a
defined background colour and graphical objects can be positioned within the region.
Pixel depths of 2, 4 and 8-bits are supported allowing up to 4, 16 or 256 different pixel codes to be used in
each region. Each region is associated with a CLUT which defines the colour and transparency for each of
the pixel codes.
At the discretion of the encoder, objects designed for displays supporting 16 or 256 colours can be
decoded into displays supporting fewer colours. A quantization algorithm is defined to ensure that this
process is predictable by the originator. This feature allows a single data stream to be decoded by a
population of decoders with mixed, and possibly evolving, capabilities.
This subtitling system provides a number of techniques that allow efficient transmission of the graphic
data:
- pixel structures that occur more than once within a bitmap can be transmitted only once, and then
positioned multiple times within the bitmap;
- pixel structures used in more than one subtitle stream shall only be transmitted once;
- pixel data is compressed using run-length coding;
- where the gamut of colours required for part of a graphical object is suitably limited, that part can be
coded using a smaller number of bits per pixel and a map table. For example, an 8-bit per pixel
graphical object may contain areas coded as 4 or 2-bits per pixel each preceded by a map table to
map the 16 or 4 colours used onto the 256 colour set of the region. Similarly, a 4-bit per pixel object
may contain areas coded as 2-bits per pixel;
- colour definitions can be coded using either 16 or 32-bits per CLUT entry. This provides a trade off
between colour accuracy and transmission bandwidth.
The above features require only compliance with this ETS. Additional features are provided that allow
more efficient operation where there are additional agreements between the data provider and the
manufacturer of the decoder:
- graphic objects resident in ROM in the decoder can be referenced;
- character codes, or strings of character codes, can be used in place of graphic object references.
This requires the decoder to be able to generates glyphs for these codes.
This ETS is not concerned with the private agreements required to make these features operate.

Page 10
ETS 300 743: September 1997
4.2 Data hierarchy and terminology
The "building block" of the subtitling information is the subtitling_segment. These segments are carried in
PES packets which are in-turn carried by Transport Packets.
All the broadcast data required for a subtitle stream will be carried by a single transport packet stream (i.e.
on a single PID). A single transport packet stream can carry several different streams of subtitles. The
different subtitle streams can be subtitles in different languages for a common program. Alternatively, they
can be for different programs (provided that the programs share a common PCR).
Different subtitle streams can also be supplied to address different display characteristics or to address
special needs. For instance:
- different subtitle streams can be provided for 4:3 and 16:9 aspect ratio displays;
- subtitle streams can be provided for viewers with impaired hearing. These may include graphical
representations of sounds.
Within a transport packet stream the segments for different subtitling streams are identified by their page
identifiers. One or more subtitling_descriptors ETS 300 468 [2] in the PMT for a program describe the
available subtitling streams and specify the PID and page ids that shall be decoded for each subtitling
stream.
A subtitling stream may contain data from a single page (the composition page) or from two pages (the
composition page and the ancillary page). The ancillary page can be used to carry objects that are
common to 2 or more subtitle streams. For example, the ancillary page can carry a logo that is common to
subtitle streams for several different languages.
The PTS in the PES packet provides presentation timing information for the subtitling data. The number of
segments carried by each PES packet is only limited by the maximum length of a PES packet defined by
MPEG.
In summary the data hierarchy is:
- Transport Stream (TS);
- transport packet stream (common PID);
- PES (provides timing);
- subtitle stream (composition or composition and ancillary pages);
- page;
- segment.
4.3 Temporal hierarchy and terminology
At the segment level in the data hierarchy there is temporal hierarchy. The highest level is the epoch. This
is analogous to the MPEG video sequence. No decoder state is preserved from one epoch to the next.
An epoch is a sequence of one or more displays. Each display is a completed screen of graphics.
Consecutive displays may differ little (e.g. by a single word when stenographic subtitling is being used) or
may be completely different. The set of segments that form each display is called a display set.
Within a display set the sequence of segments (when present) is:
- page composition;
- region composition;
- CLUT definition;
- object data.
All segments associated with composition page shall be delivered before any segments from the optional
ancillary page. The ancillary page may only carry CLUT definition or object data segments.

Page 11
ETS 300 743: September 1997
5 Subtitle decoder model
The subtitle decoder model is an abstraction of the processing required for the interpretation of subtitling
streams. The main purpose of this model is to define a number of constraints which can be used to verify
the validity of subtitling streams. The following figure shows a typical implementation of a subtitling
decoding process in a receiver.
192 kbit/s Subtitle Decoder 512 kbit/s
Transport Pre- Coded data Subtitle Pixel
MPEG-2
PID filter
buffer processor buffer processing buffer
TS packets
kByte kByte
24 80
512 byte and filters
Composition
buffer
4 kByte
Figure 1: Subtitle decoder model
The input to the subtitling decoding process is an MPEG-2 Transport Stream (TS). After a selection
process based on PID value, complete MPEG-2 Transport Stream packets enter into a transport buffer
with a size of 512 byte. When there is data in the transport buffer, data is removed from this buffer with a
rate of 192 kbit/s. When no data is present, the data rate equals zero.
The MPEG-2 transport stream packets from the transport buffer are processed by stripping off the packet
headers of TS packets and of Packetized Elementary Stream (PES) packets with the proper
data_identifier value. The Presentation Time Stamp (PTS) fields shall be passed on to the next stages of
the subtitling processing. The output of the pre-processor is a stream of subtitling segments which are
filtered based on their page_id values.
The selected segments enter into a coded data buffer which has a size of 24 kbyte. Only complete
segments are removed from this buffer by the subtitle decoder. The removal and decoding of the
segments is instantaneous (i.e. it takes zero time). If a segment produces pixel data, the subtitle decoder
stops removing segments from the coded data buffer until all pixels have been transmitted to the pixel
buffer. The rate for the transport of pixel data into the pixel buffer is 512 kbit/s.
5.1 Decoder temporal model
A complete description of the memory use of the decoder shall be delivered at the start of each epoch.
Hence, epoch boundaries provide a guaranteed service acquisition point. Epoch boundaries are signalled
by page composition segments with a page state of "mode change".
The pixel buffer and the composition buffer hold the state of the subtitling decoder. The epoch for which
this state is defined is between Page Composition Segments (PCSs) with page state of "mode change".
When a PCS with state of "mode change" is received by a decoder all memory allocations implied by
previous segments are discarded i.e. the decoder state is reset.
All the regions to be used in an epoch shall be introduced by the Region Composition Segments (RCSs)
in the display set that accompanies the PCS with page state of "mode change" (i.e. the first display set of
the epoch). This requirement allows a decoder to plan all of its pixel buffer allocations before any object
data is written to the buffers. Similarly, all of the CLUT entries to be used during the epoch shall be
introduced in this first display set. Subsequent segments can modify the values held in the pixel buffer and
composition buffer but may not alter the quantity of memory required.
5.1.1 Service acquisition
The other allowed values of page state are "acquisition point" and "normal case". The "acquisition point"
state (like the "mode change" state) indicates that a complete description of the memory use of the
decoder is being broadcast. However, the memory use is guaranteed to be the same as that previously in
operation. Decoders that have already acquired the service shall only look for development of the existing
display (e.g. new graphical objects to be decoded). Decoders trying to acquire the service can treat a page
state of "acquisition point" as if it is "mode change".

Page 12
ETS 300 743: September 1997
Use of the page state of "mode change" may require the decoder to remove the graphic display for a short
period while the decoder reallocates its memory use. The "acquisition point" state should not cause any
disruption of the display. Hence it is expected that the "mode change" state will be used infrequently (e.g.
at the start of a program, or when there are significant changes in the graphic display) while the
"acquisition point" state will be used every few seconds to enable rapid service acquisition by decoders.
A page state of "normal case" indicates that the set of RCS may not be complete (it shall only include the
regions into which objects are being drawn in this display set). There is no requirement on decoders to
attempt service acquisition at a "normal case" display set.
5.1.2 Presentation Time Stamps (PTS)
Segments are encapsulated in PES packets. The PES packet structures is primarily used to carry a
Presentation Time Stamp (PTS) for the subtitling data.
Unlike video data, subtitling displays have no natural refresh rate. So, each display shall be associated
with a PTS to control when it is displayed. For any subtitling stream there can be at most one display set in
each PES packet. However, the PES packet can contain concurrent display sets for a number of different
subtitle streams, all sharing the same presentation time. It is possible that segments for one display time
may have to be split over more than one PES packet (e.g. because of the 64 kbyte limit on PES packet
length). In this case more than one PES packet will have the same PTS value.
In summary, all of the segments of a single display set shall be carried in one (or more) PES packets that
have the same PTS value.
All of the data for a display shall be delivered to the decoder in sufficient time to allow a model decoder to
decode all of the data by the time indicated by the PTS.
5.1.3 Page composition
The Page Composition Segment (PCS) carries a list of zero or more regions. This list defines the set of
regions that will be visible in the display defined by this PCS.
This visibility list becomes valid at the time defined by the PTS of the enclosing PES packet. The display
of a model decoder will instantly switch from any previously existing set of visible regions to the newly
defined set.
The PCS may be followed by zero or more Region Composition Segments (RCS). The region list in the
PCS may be quite different from the set of RCS that follow.
5.1.4 Region composition
A complete set of Region Composition Segments (RCS) shall be present in the display set that follows a
PCS with page state of "mode change" or "acquisition point" as this is the process that introduces regions
and allocates memory for them. Display sets with a PCS with page state of "normal case" shall only
contain regions whose contents are to be modified.
Once introduced the memory "foot print" of a region shall remain fixed for the remainder of the epoch. The
following facets of the region specification cannot change once set:
- width;
- height;
- depth;
- region_level_of_compatability;
- CLUT_id.
Page 13
ETS 300 743: September 1997
Attributes of the region are the region_fill_flag and the region_n-bit_pixel_code. When the region_fill_flag
is set the first graphics operation performed on a region should be to colour all pixels in the region with the
colour indicated by the region_n-bit_pixel_code. The value of the region_n-bit_pixel_code should only
change in RCS where the region_fill_flag is set. Decoders that have already acquired the subtitling service
can ignore the region_n-bit_pixel_code when the region_fill_flag is not set. A decoder in the process of
acquiring the service can rely on the region_n-bit_pixel_code being the current region fill colour regardless
of the state of region_fill_flag.
There is no requirement for a region to be initialized by filling it when the region is introduced at the start of
the epoch. This allows the rendering load to be deferred until the region is required to be visible. In the
limiting case, the region need never be initialized. For example, if the region is completely filled with
graphical objects it need never be initialized.
5.1.5 Points to note
- At the start of the epoch the display set shall include a complete set of RCS for all the regions that
will be used during the epoch. The PCS shall only list the subset of these regions that are initially
visible. In the limiting case any PCS may list zero visible regions.
- An RCS shall be present in a display set if its contents are to be modified. However, the RCS shall
not be in the PCS region list. This allows regions to be modified while they are not visible.
- RCS may be present in a display set even if they are not being modified. For example, a
broadcaster may choose to broadcast a complete list of RCS in every display set.
- A decoder shall inspect every RCS in the display set to determine which (if any) require pixel buffer
modifications. It is sufficient for the decoder to inspect the RCS version number to determine if a
region requires modification. There are 3 possible causes of modification, any or all of which may
cause the modification:
- region fill flag set;
- CLUT contents modification;
- a non-zero length object list.
5.2 Buffer memory model
The pixel display and the composition buffer are finite memory resources. A page composition segment
with the page state of "mode change" destroys all previous display and composition buffer memory
allocations and leaves the contents of the memory undefined.
Various processes (as detailed below) allocate memory from these finite resources. These allocations
persist until the next page composition segment with page state of "mode change".
There is no mechanism to partially re-allocate memory. A region once introduced remains allocated until
the next page composition segment with page state of "mode change".
5.2.1 Pixel display buffer memory
The display buffer has a capacity of 80 kbyte. Of the 80 kbyte up to 60 kbyte can be assigned for active
display. The remaining capacity can be assigned for future display. The subtitle decoder model assumes
that data is stored in the display buffer memory requirements assumed by the decoder model are:
region_bits = region_width × region_height × region_depth
Where region_depth is the region's pixel depth in bits derived from table 4 and the RCS element
region_depth. A real implementation of a subtitle decoder may require more memory than this to
implement each region. This implementation dependent overhead is not comprehended by the subtitle
decoder model.
The occupancy of the display buffer is the sum of the region_bits of all the defined regions.

Page 14
ETS 300 743: September 1997
5.2.2 Region memory
The pixel buffer memory is allocated for a region when it is introduced for the first time. This memory
allocation is retained until a page composition segment with page state of "mode change" destroys all
memory allocations.
5.2.3 Composition buffer memory
The composition buffer holds all the display data structures other than the displayed graphical objects.
The composition buffer memory holds information of page composition, region composition and CLUT
definition.
The number of bytes assumed by the composition buffer memory allocation model for a model decoder is
tabulated below:
Page composition 4
per region 6
Region composition 12
per object 8
CLUT definition 4
per non full range entry 4
per full range entry 6
5.3 Cumulative display construction
Once introduced (in the display set of a page composition segment with page state of "mode change") the
contents of the pixel buffer associated with a region accumulate modifications made in each display set.
5.4 Decoder rendering bandwidth model
The rendering bandwidth into the display memory is specified as 512 kbit/s. The idealized model assumes
100 % efficient memory operations. So, when 10 pixel × 10 pixel object is rendered in a region with a 4-bit
pixel depth then 400-bit operations are consumed.
The 512 kbit/s budget comprehends all modifications to the pixel buffer. Certain decoder architectures
may require a different number of memory operations. For example, certain architectures may require
read, modify, write operation on several bytes to modify a single pixel. These implementation dependent
issues are not comprehended by the decoder model and thus is to be considered by the decoder
designer.
5.4.1 Page erasure
Page erasure does not directly imply any modifications to the pixel buffer memory. So, this does not
impact the decoder rendering budget.
5.4.2 Region move or change in visibility
Regions can be repositioned by altering the specification of their position in the region list in the PCS. The
computational load for doing this may vary greatly depending on the implementation of the graphics
system. However, the decoder model is region based. So, the model decoder assumes no rendering
burden associated with a region move.

Page 15
ETS 300 743: September 1997
Similarly, the visibility of a region can be changed by including it in or excluding it from the PCS region list.
As above, the model decoder assumes no rendering burden associated with modifying the PCS region
list.
5.4.3 Region fill
Setting the region fill flag instructs that the region is completely re-drawn with the defined fill colour. For
example, filling a 100 pixel × 100 pixel 4-bit deep region will consume 40 000-bit operations from the
rendering budget. Where the region fill flag is set, the region fill is assumed to happen before any objects
are rendered into the region.
Regions are only filled when the region fill flag is set. There is no automatic fill operation when they are
first introduced. This allows the encoder to defer the fill operation, and hence its rendering burden until
later.
A decoder can optionally look at the intersection between the objects in the region's object list and the
area to be erased and then try to optimize the area erased. Objects can have a ragged right hand edge
and can contain transparent holes. This possible optimization is not comprehended by the decoder model.
5.4.4 CLUT modification
Once introduced a region is always bound to a particular CLUT. However, new definitions of the CLUT
may be broadcast (i.e. the mapping between pixel code and displayed colour can be redefined). No
rendering burden is assumed when CLUT definitions change.
5.4.5 Graphic object decoding
Graphical objects shall be rendered into the pixel buffer as they are decoded. One object may be
referenced several times (for example, a character used several times in a piece of text). The rendering
burden for each object is derived from:
- the number of pixels enclosed within the smallest rectangle that can enclose the object;
- the pixel depth of the region where the object is instanced;
- the number of times the object is instanced.
The "smallest enclosing rectangle" rule is used to simplify calculations and also to give some
consideration for the read-modify-write nature of pixel rendering processes.
The object coding system allows a ragged right edge to objects. No coded information is provided for the
pixel positions between the "end of object line code" and the "smallest enclosing rectangle". These pixels
should be left unmodified by the rendering process.
The same burden is assumed regardless of whether an object has the non_modifying_colour_flag set to
implement holes in the object. Again this gives some consideration for the read-modify-write nature of
pixel rendering processes.
5.4.6 Character object decoding
The subtitling system allows character references to be delivered as an alternative to graphical objects.
The information inside the subtitling stream is not sufficient to make such a character coded system work
reliably.
A local agreement between broadcasters and equipment manufacturers may be an appropriate way to
ensure reliable operation of character coded subtitles. A local agreement would probably define the
characteristics of the font (character size and other metrics). It should also define a decoder rendering
budget model for each character.

Page 16
ETS 300 743: September 1997
6 PES packet format
The standard transport stream packet syntax and semantics are followed noting the constraints in table 1.
Table 1
stream_id Set to '1011 1101' indicating "private_stream_1".
PES_packet_length Set to a value, such that each PES packet is aligned with a
Transport packet (implied by MPEG).
data_alignment_indicator Se
...

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...