ETSI ETS 300 777-1 ed.1 (1997-09)
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)
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)
DE/MTA-011057-1
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)
General Information
Standards Content (Sample)
SLOVENSKI STANDARD
SIST ETS 300 777-1 E1:2003
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þSUHGVWDYQLPXOWLPHGLMVNL Multimedia systems and
VLVWHPLLQRSUHPD]D teleconferencing equipment
WHOHNRQIHUHQFH
35.180 Terminalska in druga IT Terminal and other
periferna oprema IT peripheral equipment
SIST ETS 300 777-1 E1:2003 en
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
---------------------- Page: 1 ----------------------
SIST ETS 300 777-1 E1:2003
---------------------- Page: 2 ----------------------
SIST ETS 300 777-1 E1:2003
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: 3 ----------------------
SIST ETS 300 777-1 E1:2003
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: 4 ----------------------
SIST ETS 300 777-1 E1:2003
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: 5 ----------------------
SIST ETS 300 777-1 E1:2003
Page 4
ETS 300 777-1: September 1997
Blank page
---------------------- Page: 6 ----------------------
SIST ETS 300 777-1 E1:2003
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: 7 ----------------------
SIST ETS 300 777-1 E1:2003
Page 6
ETS 300 777-1: September 1997
Blank page
---------------------- Page: 8 ----------------------
SIST ETS 300 777-1 E1:2003
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: 9 ----------------------
SIST ETS 300 777-1 E1:2003
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: 10 ----------------------
SIST ETS 300 777-1 E1:2003
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: 11 ----------------------
SIST ETS 300 777-1 E1:2003
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: 12 ----------------------
SIST ETS 300 777-1 E1:2003
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: 13 ----------------------
SIST ETS 300 777-1 E1:2003
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: 14 ----------------------
SIST ETS 300 777-1 E1:2003
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
---------------------- Page: 15 ----------------------
SIST ETS
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.