Abstract

This ETS will be based on ISO/IEC 13552-5 for European use, selecting from MHEG-1 the necessary features to ensure interoperability of basic multimedia applications across minimal resource platforms. Basic multimedia applications include (eg, as defined by DAVIC), Television distribution, near Video on Demand, Video on Demand and teleshopping. Note: MHEG-5 is a subset of MHEG-1 for basic level implementations. MHEG-5 is scheduled for CD ballot in August 1995 and is planned to go to DIS ballot in November 1995.  PT75 will generate the BNF and ASN.1 encodings and the execution model of MHEG-5.  This will result in a joint ISO/ETSI specification.

Status
Published
Publication Date
30-Nov-2003
Current Stage
6060 - National Implementation/Publication (Adopted Project)
Start Date
01-Dec-2003
Due Date
01-Dec-2003
Completion Date
01-Dec-2003

Buy Documents

Standard

SIST ETS 300 777-1 E1:2003

English language (26 pages)
Preview
Preview
e-Library read for
×1 day

SIST ETS 300 777-1 E1:2003 is the Slovenian adoption of ETS 300 777-1 from ETSI. It specifies the Abstract Syntax Notation One (ASN.1) notation and encoding rules for MHEG-5, the coding of multimedia and hypermedia information objects used in basic interactive multimedia applications. It is written for people implementing terminal equipment, parsers and interoperability tests for those MHEG-5 objects.

What does SIST ETS 300 777-1 E1:2003 specify?

SIST ETS 300 777-1 E1:2003 specifies the MHEG-5 ASN.1 notation, including a syntax description equivalent to Extended Backus Naur Form (EBNF) and the encoding rules used for that syntax. In practice, the standard tells implementers how MHEG-5 objects are represented so different terminal equipment can exchange them consistently.

The scope is base-level interactive applications such as movies-on-demand, teleshopping and near video-on-demand. The standard focuses on the coded representation and formal object syntax, while the object semantics are described in the related MHEG-5 specification.

The document is organized into five clauses:

  • Clause 1 - Scope
  • Clause 2 - Normative references
  • Clause 3 - Definitions and abbreviations
  • Clause 4 - MHEG-5 ASN.1 notation design principles
  • Clause 5 - MHEG-5 ASN.1 notation

Clause 5 is the main technical body. It contains the ASN.1 module and the type definitions used to encode the objects.

What are the key requirements of SIST ETS 300 777-1 E1:2003?

Clause 4 sets the design approach

SIST ETS 300 777-1 E1:2003 says the ASN.1 design is optimized for minimal resource platforms, so parser simplicity is preferred over maximum code compactness. That matters because the standard is intended for equipment with limited memory and processing power.

Clause 4 also gives three design principles:

  • semantic constraints are used so parsers can do more conformance checking
  • context-free tags are used so parsers can do strong type checking
  • a uniform structure is used for elementary actions so parsers can apply a general algorithm

In practice, these rules help implementers build smaller, more predictable decoders.

Clause 5 requires DER encoding

SIST ETS 300 777-1 E1:2003 requires MHEG-5 objects encoded from the ASN.1 syntax to use the Distinguished Encoding Rules (DER). This is important because DER gives a single, well-defined encoding form, which reduces ambiguity between different products.

Clause 5 defines the top-level object model

The top-level type InterchangedObject is a choice between application and scene. That tells implementers that an exchanged MHEG-5 object can be either an application object or a scene object, depending on its role in the interactive service.

The document then builds the object model from reusable classes such as RootClass, GroupClass, IngredientClass, PresentableClass, VisibleClass and InteractibleClass. In practice, these classes control how an object is referenced, grouped, presented and interacted with.

Clause 5 defines object grouping and defaults

GroupClass includes fields for standard identification, versioning, object information, startup and shutdown actions, cache priority and item lists. ApplicationClass adds spawn and restart actions plus default attributes. SceneClass adds input event registration, coordinate system, aspect ratio, cursor behavior and next-scene links.

These fields matter because they define what an application or scene needs to start, how it behaves on screen, and how it relates to other objects.

Clause 5 defines content and presentation classes

The standard defines classes for:

  • programs: ResidentProgramClass, RemoteProgramClass, InterchangedProgramClass
  • media and resources: PaletteClass, FontClass, CursorShapeClass
  • variables: BooleanVariableClass, IntegerVariableClass, OctetStringVariableClass, ObjectRefVariableClass, ContentRefVariableClass
  • visible content: BitmapClass, LineArtClass, RectangleClass, DynamicLineArtClass, TextClass, StreamClass

This matters in practice because implementers must know which object kinds can carry content, which are reference-based, and which defaults apply.

Clause 5 defines interaction objects and controls

The standard defines SliderClass, EntryFieldClass, HyperTextClass, ButtonClass, HotspotClass, PushButtonClass and SwitchButtonClass. It also defines their parameters such as orientation, slider style, input type, label, button style and text handling.

These definitions are what let a terminal display interactive controls and interpret user input in a consistent way.

Clause 5 defines actions and event handling

ActionClass is a sequence of ElementaryAction items. The action vocabulary includes object activation, program control, drawing operations, connection handling, movement, variable setting, selection, token and list operations, and queries such as status, size, position and text content.

The standard also defines event-related types such as LinkCondition, EventType and EventData. In practice, that is the part implementers use to trigger behavior when a user acts, a timer fires, content becomes available, or an object changes state.

What terms does SIST ETS 300 777-1 E1:2003 define?

  • Abstract Syntax Notation One (ASN.1) - A notation used to define the structure of MHEG-5 data values.
  • Distinguished Encoding Rules (DER) - The encoding rule the standard requires for MHEG-5 objects.
  • Extended Backus Naur Form (EBNF) - A formal grammar form used to describe the syntax of MHEG-5 objects.
  • MHEG - Multimedia and Hypermedia Expert Group, the acronym used in the standard’s terminology.
  • ObjectReference - A reference type that can be external or internal, used to point to MHEG-5 objects.
  • ActionClass - A sequence of elementary actions that defines what an object can do.
  • GroupClass - The class that collects related objects and their group-level attributes.
  • StreamClass - The class used for streamed presentation content with audio, video or RT graphics components.

Who uses SIST ETS 300 777-1 E1:2003?

SIST ETS 300 777-1 E1:2003 is used by people designing and testing terminal equipment for multimedia information retrieval services. It is relevant to engineers and integrators working on basic multimedia applications such as television distribution, near video on demand, video on demand and teleshopping.

It is also used by teams that need interoperability between a content authoring system and a minimal-resource receiver platform. Quality and test teams use it to check that object syntax, encoding and action behavior are interpreted the same way by different implementations.

What changed in SIST ETS 300 777-1 E1:2003 from the previous edition?

SIST ETS 300 777-1 E1:2003 is identified in the document history as the first edition of ETS 300 777-1.

Which standards are used with SIST ETS 300 777-1 E1:2003?

StandardWhat it contributes
ISO/IEC 13522-5The base MHEG-5 specification for support for base-level interactive applications; this ETS defines the ASN.1 notation used with it.
ISO/IEC 8824-1 / ITU-T Recommendation X.680The basic ASN.1 notation rules used to define the syntax structures.
ISO/IEC 8825-1 / ITU-T Recommendation X.690The ASN.1 encoding rules, including BER, CER and DER; this ETS requires DER.
ETSI Part 2 - DSM-CC for basic multimedia applicationsCompanion part in the same ETS series, focused on using Digital Storage Media Command and Control.
ETSI Part 3 - API for MHEG-5Companion part in the same ETS series, focused on the Application Programmable Interface.
ETSI Part 4 - VEMMI enhancements for broadband multimedia information retrieval servicesCompanion part in the same ETS series, focused on VEMMI enhancements.

What does the SIST ETS 300 777-1 E1:2003 document contain?

The document contains the foreword, transposition dates, scope, references, definitions, design principles and a full ASN.1 module for MHEG-5. Clause 5 provides the object and action definitions in detail, including class structures, choices, sequences, enumerations, defaults and constraints.

It also defines the helper types used throughout the module, such as object references, content references, generic values, colour values and positions. Those definitions are the basis for interoperability testing and implementation of encoders, decoders and application engines.

Buy Documents

Standard

SIST ETS 300 777-1 E1:2003

English language (26 pages)
Preview
Preview
e-Library read for
×1 day

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.

UKAS United Kingdom Verified

NYCE

Mexican standards and certification body.

EMA Mexico Verified

ANCE

Mexican certification and testing association.

EMA Mexico Verified

Sponsored listings

Frequently Asked Questions

SIST ETS 300 777-1 E1:2003 is a standard published by the Slovenian Institute for Standardization (SIST). Its full title is "Terminal Equipment (TE); End-to-end protocols for multimedia information retrieval services; Part 1: Coding of multimedia and hypermedia information for basic multimedia applications (MHEG-5)". This standard covers: This ETS will be based on ISO/IEC 13552-5 for European use, selecting from MHEG-1 the necessary features to ensure interoperability of basic multimedia applications across minimal resource platforms. Basic multimedia applications include (eg, as defined by DAVIC), Television distribution, near Video on Demand, Video on Demand and teleshopping. Note: MHEG-5 is a subset of MHEG-1 for basic level implementations. MHEG-5 is scheduled for CD ballot in August 1995 and is planned to go to DIS ballot in November 1995. PT75 will generate the BNF and ASN.1 encodings and the execution model of MHEG-5. This will result in a joint ISO/ETSI specification.

This ETS will be based on ISO/IEC 13552-5 for European use, selecting from MHEG-1 the necessary features to ensure interoperability of basic multimedia applications across minimal resource platforms. Basic multimedia applications include (eg, as defined by DAVIC), Television distribution, near Video on Demand, Video on Demand and teleshopping. Note: MHEG-5 is a subset of MHEG-1 for basic level implementations. MHEG-5 is scheduled for CD ballot in August 1995 and is planned to go to DIS ballot in November 1995. PT75 will generate the BNF and ASN.1 encodings and the execution model of MHEG-5. This will result in a joint ISO/ETSI specification.

SIST ETS 300 777-1 E1:2003 is classified under the following ICS (International Classification for Standards) categories: 33.160.60 - Multimedia systems and teleconferencing equipment; 35.180 - IT Terminal and other peripheral equipment. The ICS classification helps identify the subject area and facilitates finding related standards.

SIST ETS 300 777-1 E1:2003 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)


SLOVENSKI STANDARD
01-december-2003
Terminalska oprema (TE) – Protokoli sistema konec-konec za multimedijske
informacijske poiskavne storitve – 1. del: Kodiranje multimedijskih in
hipermedijskih podatkov za osnovne multimedijske aplikacije (MHEG-5)
Terminal Equipment (TE); End-to-end protocols for multimedia information retrieval
services; Part 1: Coding of multimedia and hypermedia information for basic multimedia
applications (MHEG-5)
Ta slovenski standard je istoveten z: ETS 300 777-1 Edition 1
ICS:
33.160.60 9HþSUHGVWDYQL PXOWLPHGLMVNL Multimedia systems and
VLVWHPLLQRSUHPD]D teleconferencing equipment
WHOHNRQIHUHQFH
35.180 Terminalska in druga IT Terminal and other
periferna oprema IT peripheral equipment
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

EUROPEAN ETS 300 777-1
TELECOMMUNICATION September 1997
STANDARD
Source: MTA Reference: DE/MTA-011057-1
Formerly: DE/TE-01057-1
ICS: 33.020
Key words: API, MHEG, multimedia, terminal
Terminal Equipment (TE);
End-to-end protocols for, multimedia information
retrieval services;
Part 1: Coding of multimedia and hypermedia
information for basic
multimedia applications (MHEG-5)
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. All rights reserved.

Page 2
ETS 300 777-1: 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 777-1: September 1997
Contents
Foreword .5
1 Scope .7
2 Normative references.7
3 Definitions and abbreviations .7
3.1 Definitions .7
3.2 Abbreviations .7
4 MHEG-5 ASN.1 notation design principles .8
5 MHEG-5 ASN.1 notation .8
History.26

Page 4
ETS 300 777-1: September 1997
Blank page
Page 5
ETS 300 777-1: September 1997
Foreword
This European Telecommunication Standard (ETS) has been produced by the Terminal Equipment (TE)
Technical Committee of the European Telecommunications Standards Institute (ETSI).
This ETS consists of four parts as follows:
Part 1: "Coding of multimedia and hypermedia information for basic multimedia applications
(MHEG-5)";
Part 2: "Use of Digital Storage Media Command and Control (DSM-CC) for basic multimedia
applications";
Part 3: "Application Programmable Interface (API) for MHEG-5 ";
Part 4: "Videotex Man Machine Interface (VEMMI) enhancements to support broadband multimedia
information retrieval services".
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 777-1: September 1997
Blank page
Page 7
ETS 300 777-1: September 1997
1 Scope
This European Telecommunications Standard (ETS) specifies the MHEG part 5 Abstract Syntax Notation
One (ASN.1) notation consisting of a syntax description (equivalent to the Extended Backus Naur Form
(EBNF) syntax) and encoding rules.
MHEG part 5 (ISO/IEC IS 13522-5 [1]) specifies the coded representation of interchanged
multimedia/hypermedia information objects (MHEG-5 objects) for use in the domain of base-level
interactive applications such as movies-on-demand, teleshopping, near video-on-demand.
MHEG-5 specifies objects and their semantics using an informal text description. It also provides a formal
description of the interchanged objects syntax using EBNF.
This specification is included in ISO/IEC IS 13522-5 [1] as normative annex A.
2 Normative references
This ETS incorporates by dated or 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 13522-5 (1996): "Information technology - Coding of Multimedia and
Hypermedia information - Part 5: Support for Base-Level Interactive
Applications".
[2] ISO/IEC 8824-1 (1996)/ITU-T Recommendation X.680 (1995): "Information
technology - Abstract Syntax Notation One (ASN.1): Specification of basic
notation - Amendment 1".
[3] ISO/IEC 8825-1 (1996)/ITU-T Recommendation X.690 (1995): "Information
technology - ASN.1 encoding rules: Specification of Basic Encoding Rules
(BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules
(DER)".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of this ETS, the definitions in ISO/IEC IS 13522-5 [1], ISO/IEC 8824-1 [2] and
ISO/IEC 8825-1 [3] apply.
3.2 Abbreviations
For the purposes of this ETS, the following abbreviations apply:
ASN.1 Abstract Syntax Notation One
BER Basic Encoding Rules
DER Distinguished Encoding Rules
EBNF Extended Backus Naur Form
MHEG Multimedia and Hypermedia Expert Group

Page 8
ETS 300 777-1: September 1997
4 MHEG-5 ASN.1 notation design principles
Designing an ASN.1 encoding is always a trade-off between the compactness of the encoded datasyntax
and the compactness of the ASN.1 parser required. As this syntax is designed to run on a minimal
resource platform, the compactness of the ASN.1 parser is favoured with regard to the compactness of
the interchanged code.
These constraints lead to the following design principles:
1) use of semantic constraints to allow parsers to do more conformance checking;
2) use of context-free tags to allow parsers to do strong type checking;
3) uniform structure for elementary action to allow parsers to use a general algorithm.
5 MHEG-5 ASN.1 notation
This clause defines the ASN.1 notation for the syntax of MHEG-5 objects conforming to
ISO/IEC 13522-5 [1].
The encoding of the MHEG-5 objects from this ASN.1 syntax shall make use of the Distinguished
Encoding Rules (DER) defined in ISO/IEC 8825-1 [3].
The syntax that shall be used in the DER is detailed below:
--$PREFIX=ISOMHEG-mheg-5:mheg-5
-- Module: mheg-5
ISO13522-MHEG-5
{joint-iso-itu-t(2) mheg(19) version(1) mheg-5(17)} DEFINITIONS IMPLICIT
TAGS ::=
BEGIN
-- This module defines the MHEG-5 abstract syntax which consists of data values of type:
--  ISO13522-MHEG-5.InterchangedObject.
-- This abstract syntax is identified by the name: {joint-iso-itu-t(2) mheg(19) version(1)
mheg-5(17)}.
InterchangedObject ::= CHOICE
{
application [0] ApplicationClass,
scene [1] SceneClass
}
-- Root Class _____________________________________________________
RootClass ::= ObjectReference
-- Group Class ____________________________________________________
GroupClass ::= SET
{
RootClass (WITH COMPONENTS
{external-reference (WITH COMPONENTS {., object-number (0)}) PRESENT,
internal-reference ABSENT}),
standard-identifier [2] StandardIdentifier OPTIONAL,
standard-version [3] INTEGER (1) OPTIONAL,
object-information [4] OCTET STRING OPTIONAL,
on-start-up [5] ActionClass OPTIONAL,
on-close-down [6] ActionClass OPTIONAL,
original-group-cache-priority [7] INTEGER (0.255) DEFAULT 127,
items [8] SEQUENCE SIZE (1.MAX) OF GroupItem OPTIONAL
}
StandardIdentifier ::= SEQUENCE
{
joint-iso-itu INTEGER (2),
mheg INTEGER (19)
}
GroupItem ::= CHOICE
{
resident-program [9] ResidentProgramClass,
remote-program [10] RemoteProgramClass,
interchanged-program [11] InterchangedProgramClass,
palette [12] PaletteClass,
font [13] FontClass,
cursor-shape [14] CursorShapeClass,

Page 9
ETS 300 777-1: September 1997
boolean-variable [15] BooleanVariableClass,
integer-variable [16] IntegerVariableClass,
octet-string-variable [17] OctetStringVariableClass,
object-ref-variable [18] ObjectRefVariableClass,
content-ref-variable [19] ContentRefVariableClass,
link [20] LinkClass,
stream [21] StreamClass,
bitmap [22] BitmapClass,
line-art [23] LineArtClass,
dynamic-line-art [24] DynamicLineArtClass,
rectangle [25] RectangleClass,
hotspot [26] HotspotClass,
switch-button [27] SwitchButtonClass,
push-button [28] PushButtonClass,
text [29] TextClass,
entry-field [30] EntryFieldClass,
hyper-text [31] HyperTextClass,
slider [32] SliderClass,
token-group [33] TokenGroupClass,
list-group [34] ListGroupClass
}
--. Application Class ______________________________________________
ApplicationClass ::= SET
{
COMPONENTS OF GroupClass,
on-spawn-close-down [35] ActionClass OPTIONAL,
on-restart [36] ActionClass OPTIONAL,
default-attributes [37] SEQUENCE SIZE (1.MAX) OF DefaultAttribute OPTIONAL
}
DefaultAttribute ::= CHOICE
{
character-set [38] INTEGER,
background-colour [39] Colour,
text-content-hook [40] INTEGER,
text-colour [41] Colour,
font [42] FontBody,
font-attributes [43] OCTET STRING,
interchanged-program-content-hook [44] INTEGER,
stream-content-hook [45] INTEGER,
bitmap-content-hook [46] INTEGER,
line-art-content-hook [47] INTEGER,
button-ref-colour [48] Colour,
highlight-ref-colour [49] Colour,
slider-ref-colour [50] Colour
}
FontBody ::= CHOICE
{
direct-font OCTET STRING,
indirect-font ObjectReference
}
-- Scene Class ____________________________________________________
SceneClass ::= SET
{
COMPONENTS OF GroupClass,
input-event-register [51] INTEGER,
scene-coordinate-system [52] SceneCoordinateSystem,
aspect-ratio [53] AspectRatio DEFAULT {width 4, height 3},
moving-cursor [54] BOOLEAN DEFAULT FALSE,
next-scenes [55] SEQUENCE SIZE (1.MAX) OF NextScene OPTIONAL
}
SceneCoordinateSystem ::= SEQUENCE
{
x-scene INTEGER,
y-scene INTEGER
}
AspectRatio ::= SEQUENCE
{
width INTEGER,
height INTEGER
}
NextScene ::= SEQUENCE
{
scene-ref OCTET STRING,
scene-weight INTEGER (0.255)
}
-- . Ingredient Class ______________________________________________

Page 10
ETS 300 777-1: September 1997
IngredientClass ::= SET
{
RootClass (WITH COMPONENTS
{., external-reference (WITH COMPONENTS {., object-number (1.MAX)})}),
initially-active [56] BOOLEAN DEFAULT TRUE,
content-hook [57] INTEGER OPTIONAL,
original-content [58] ContentBody OPTIONAL,
shared [59] BOOLEAN DEFAULT FALSE
}
ContentBody ::= CHOICE
{
included-content OCTET STRING,
referenced-content ReferencedContent
}
ReferencedContent ::= SEQUENCE
{
content-reference ContentReference,
content-size [60] INTEGER OPTIONAL,
content-cache-priority [61] INTEGER (0.255) DEFAULT 127
}
-- . Link Class ____________________________________________________
LinkClass ::= SET
{
COMPONENTS OF IngredientClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT}),
link-condition [62] LinkCondition,
link-effect [63] ActionClass
}
LinkCondition ::= SEQUENCE
{
event-source ObjectReference,
event-type EventType,
event-data EventData OPTIONAL
}
EventType ::= ENUMERATED
{
is-available(1),
content-available(2),
is-deleted(3),
is-running(4),
is-stopped(5),
user-input(6),
anchor-fired(7),
timer-fired(8),
asynch-stopped(9),
interaction-completed(10),
token-moved-from(11),
token-moved-to(12),
stream-event(13),
stream-playing(14),
stream-stopped(15),
counter-trigger(16),
highlight-on(17),
highlight-off(18),
cursor-enter(19),
cursor-leave(20),
is-selected(21),
is-deselected(22),
test-event(23),
first-item-presented(24),
last-item-presented(25),
head-items(26),
tail-items(27),
item-selected(28),
item-deselected(29),
entry-field-full(30),
engine-event(31)
}
EventData ::= CHOICE
{
octetstring OCTET STRING,
boolean BOOLEAN,
integer INTEGER
}
-- Program Class __________________________________________________

Page 11
ETS 300 777-1: September 1997
ProgramClass ::= SET
{
COMPONENTS OF IngredientClass
(WITH COMPONENTS {., initially-active (FALSE) PRESENT}),
name [64] OCTET STRING,
initially-available [65] BOOLEAN DEFAULT TRUE
}
-- Resident Program Class _________________________________________
ResidentProgramClass ::= ProgramClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT})
-- Remote Program Class ___________________________________________
RemoteProgramClass ::= SET
{
COMPONENTS OF ProgramClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT}),
program-connection-tag [66] INTEGER OPTIONAL
}
-- Interchanged Program Class ____________________________________
InterchangedProgramClass ::= ProgramClass
(WITH COMPONENTS {., original-content PRESENT})
-- Palette Class _________________________________________________
PaletteClass ::= IngredientClass
(WITH COMPONENTS
{., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)})
-- Font Class ____________________________________________________
FontClass ::= IngredientClass
(WITH COMPONENTS
{., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)})
-- Cursor Shape __________________________________________________
CursorShapeClass ::= IngredientClass
(WITH COMPONENTS
{., content-hook PRESENT, original-content PRESENT, initially-active (TRUE)})
-- Variable Class ________________________________________________
VariableClass ::= SET
{
COMPONENTS OF IngredientClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT, initially-active
(TRUE)}),
original-value [67] OriginalValue
}
OriginalValue ::= CHOICE
{
boolean BOOLEAN,
integer INTEGER,
octetstring OCTET STRING,
object-reference [68] ObjectReference,
content-reference [69] ContentReference
}
-- Boolean Variable Class ________________________________________
BooleanVariableClass ::= VariableClass
(WITH COMPONENTS {., original-value (WITH COMPONENTS {., boolean PRESENT})})
-- Integer Variable Class ________________________________________
IntegerVariableClass ::= VariableClass
(WITH COMPONENTS {., original-value (WITH COMPONENTS {., integer PRESENT})})
-- Octet String Variable Class ___________________________________
OctetStringVariableClass ::= VariableClass
(WITH COMPONENTS {., original-value (WITH COMPONENTS {., octetstring PRESENT})})
-- Object Reference Variable Class _______________________________
ObjectRefVariableClass ::= VariableClass
(WITH COMPONENTS {., original-value (WITH COMPONENTS {., object-reference PRESENT})})
-- Content Reference Variable Class ______________________________

Page 12
ETS 300 777-1: September 1997
ContentRefVariableClass ::= VariableClass
(WITH COMPONENTS {., original-value (WITH COMPONENTS {., content-reference PRESENT})})
-- Presentable Class _____________________________________________
PresentableClass ::= IngredientClass
-- Token Manager Class ___________________________________________
TokenManagerClass ::= SET
{
movement-table [70] SEQUENCE SIZE (1.MAX) OF Movement OPTIONAL
}
Movement ::= SEQUENCE SIZE (1.MAX) OF INTEGER
-- Token Group Class _____________________________________________
TokenGroupClass ::= SET
{
COMPONENTS OF PresentableClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT}),
COMPONENTS OF TokenManagerClass,
token-group-items [71] SEQUENCE SIZE (1.MAX) OF TokenGroupItem,
no-token-action-slots [72] SEQUENCE SIZE (1.MAX) OF ActionSlot OPTIONAL
}
TokenGroupItem ::= SEQUENCE
{
a-visible ObjectReference,
action-slots SEQUENCE SIZE (1.MAX) OF ActionSlot OPTIONAL
}
ActionSlot ::= CHOICE
{
action-class ActionClass,
null NULL
}
-- List Group Class ______________________________________________
ListGroupClass ::= SET
{
COMPONENTS OF TokenGroupClass,
positions [73] SEQUENCE SIZE (1.MAX) OF XYPosition,
wrap-around [74] BOOLEAN DEFAULT FALSE,
multiple-selection [75] BOOLEAN DEFAULT FALSE
}
-- Visible Class _________________________________________________
VisibleClass ::= SET
{
COMPONENTS OF PresentableClass,
original-box-size [76] OriginalBoxSize,
original-position [77] XYPosition DEFAULT {x-position 0, y-position 0},
original-palette-ref [78] ObjectReference OPTIONAL
}
OriginalBoxSize ::= SEQUENCE
{
x-length INTEGER (0.MAX),
y-length INTEGER (0.MAX)
}
-- Bitmap Class __________________________________________________
BitmapClass ::= SET
{
COMPONENTS OF VisibleClass
(WITH COMPONENTS {., original-content PRESENT}),
tiling [79] BOOLEAN DEFAULT FALSE,
original-transparency [80] INTEGER (0.100) DEFAULT 0
}
-- Line Art Class ________________________________________________
LineArtClass ::= SET
{
COMPONENTS OF VisibleClass
(WITH COMPONENTS {., original-content PRESENT}),
bordered-bounding-box [81] BOOLEAN DEFAULT TRUE,
original-line-width [82] INTEGER DEFAULT 1,
original-line-style [83] INTEGER {solid(1), dashed(2), dotted(3)} DEFAULT solid,

Page 13
ETS 300 777-1: September 1997
original-ref-line-colour [84] Colour OPTIONAL,
original-ref-fill-colour [85] Colour OPTIONAL
}
-- Rectangle Class _______________________________________________
RectangleClass ::= LineArtClass
(WITH COMPONENTS
{., content-hook ABSENT, original-content ABSENT, bordered-bounding-box ABSENT})
-- Dynamic Line Art Class ________________________________________
DynamicLineArtClass ::= LineArtClass
(WITH COMPONENTS
{., content-hook ABSENT, original-content ABSENT})
-- Text Class ____________________________________________________
TextClass ::= SET
{
COMPONENTS OF VisibleClass
(WITH COMPONENTS {., original-content PRESENT}),
original-font [86] FontBody OPTIONAL,
font-attributes [43] OCTET STRING OPTIONAL,
text-colour [41] Colour OPTIONAL,
background-colour [39] Colour OPTIONAL,
character-set [38] INTEGER OPTIONAL,
horizontal-justification [87] Justification DEFAULT start,
vertical-justification [88] Justification DEFAULT start,
line-orientation [89] LineOrientation DEFAULT horizontal,
start-corner [90] StartCorner DEFAULT upper-left,
text-wrapping [91] BOOLEAN DEFAULT FALSE
}
Justification ::= ENUMERATED
{
start(1),
end(2),
centre(3),
justified(4)
}
LineOrientation ::= ENUMERATED {vertical(1), horizontal(2)}
StartCorner ::= ENUMERATED
{
upper-left(1),
upper-right(2),
lower-left(3),
lower-right(4)
}
-- Stream Class __________________________________________________
StreamClass ::= SET
{
COMPONENTS OF PresentableClass
(WITH COMPONENTS {., original-content PRESENT}),
multiplex [92] SEQUENCE SIZE (1.MAX) OF StreamComponent,
storage [93] Storage DEFAULT stream,
looping [94] INTEGER {infinity(0)} DEFAULT 1
}
StreamComponent ::= CHOICE
{
audio [95] AudioClass,
video [96] VideoClass,
rtgraphics [97] RTGraphicsClass
}
Storage ::= ENUMERATED {memory(1), stream(2)}
-- Audio Class ___________________________________________________
AudioClass ::= SET
{
COMPONENTS OF PresentableClass
(WITH COMPONENTS {., content-hook ABSENT, original-content ABSENT, shared ABSENT}),
component-tag [98] INTEGER,
original-volume [99] INTEGER DEFAULT 0
}
-- Video Class ___________________________________________________
VideoClass ::= SET
SIST ETS
...