Copyright Β© 2026 , Society of Motion Picture and Television Engineers . All rights reserved. No part of this material may be reproduced, by any means whatsoever, without the prior written permission of the Society of Motion Picture and Television Engineers.
The Society of Motion Picture and Television Engineers (SMPTE) is an internationally-recognized standards developing organization. Headquartered and incorporated in the United States of America, SMPTE has members in over 80 countries on six continents. SMPTEβs Engineering Documents, including Standards, Recommended Practices, and Engineering Guidelines, are prepared by SMPTEβs Technology Committees. Participation in these Committees is open to all with a bona fide interest in their work. SMPTE cooperates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in its Standards Operations Manual.
For more information, please visit www.smpte.org .
At the time of publication no notice had been received by SMPTE claiming patent rights essential to the implementation of this Engineering Document. However, attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. SMPTE shall not be held responsible for identifying any or all such patent rights.
This document was prepared by Technology Committee 35PM.
This clause is entirely informative and does not form an integral part of this Engineering Document.
The IMF family of standards defines a number of different mechanisms for adding metadata (both static metadata and event-based, or timeline, metadata) to Compositions, with each mechanism having its own characteristics. A number of different mechanisms might be used in a single Composition.
This document specifies a plug-in mechanism to add generic, event-based, text-based metadata (such as an XML, JSON or YAML document) and associated binary resources (such as images) to IMF Compositions. This caters for metadata that:
Example use cases could include metadata describing: the segmentation of content into chapters; appearances of characters on screen; results of quality checking (QC) procedures; content usage rights.
At its core, the mechanism defined by this document is similar to that defined in SMPTE ST 2067-2:2020 for adding Timed Text to IMF Compositions (which utilizes Timed Text Track Files per SMPTE ST 429-5 ). However, the mechanism defined in this document is applicable for generic event-based metadata and provides additional functionality important for other use cases. In both mechanisms there is a text-based metadata document that defines a timeline of events and this is carried as Data Essence in an MXF file. This timeline of events is represented "transparently" by MXF Header Metadata structures: a Data Track both in the Top-Level File Package and in the Material Package with the zero point of the timeline of events being co-timed with the Zero Point of these Data Tracks.
The plug-in defined in this document is designed to allow carriage of pre-existing (outside of the IMF ecosystem) event-based metadata resources as long as they are text-based. This allows the benefits of IMF to be leveraged without needing to generate IMF-specific metadata schemas or documents:
This does require that consideration be given to how the event-based metadata will be handled within the context of an IMF Composition where all components need to be synchronized and processed using Composition Edit Units.
In summary, this document defines:
TimedEventsVirtualTrackParameterSet
(
9.2.3
)
β
an
XML
element
to
add
to
an
IMF
CPL
to
identify
how
the
Timed
Events
Virtual
Track
is
related
to
other
Virtual
Tracks
in
the
same
Composition.
This
document
specifies
a
plug-in
mechanism
to
add
generic,
event-based,
text-based
metadata
and
associated
binary
resources
to
IMF
Compositions.
Pre-existing
metadata
documents
are
supported
in
addition
to
those
based
on
the
optional
event-based
metadata
scheme
defined
specified
in
this
document
for
XML
and
JSON.
Normative text is text that describes elements of the design that are indispensable or contains the conformance language keywords: "shall", "should", or "may". Informative text is text that is potentially helpful to the user, but not indispensable, and can be removed, changed, or added editorially without affecting interoperability. Informative text does not contain any conformance keywords.
All text in this document is, by default, normative, except: the Introduction, any clause explicitly labeled as "Informative" or individual paragraphs that start with "Note:"
The keywords "shall" and "shall not" indicate requirements strictly to be followed in order to conform to the document and from which no deviation is permitted.
The keywords, "should" and "should not" indicate that, among several possibilities, one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required; or that (in the negative form) a certain possibility or course of action is deprecated but not prohibited.
The keywords "may" and "need not" indicate courses of action permissible within the limits of the document.
The keyword "reserved" indicates a provision that is not defined at this time, shall not be used, and may be defined in the future. The keyword "forbidden" indicates "reserved" and in addition indicates that the provision will never be defined in the future.
A conformant implementation according to this document is one that includes all mandatory provisions ("shall") and, if implemented, all recommended provisions ("should") as described. A conformant implementation need not implement optional provisions ("may") and need not implement them as described.
Unless otherwise specified, the order of precedence of the types of normative information in this document shall be as follows: Normative prose shall be the authoritative definition; tables shall be next; then formal languages; then figures; and then any other language forms.
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
For the purposes of this document, the terms and definitions given in the following documents and the additional terms and definitions apply:
NOTE ββ As long as the above constraints are satisfied, the Timed Events Resource could be an entirely static metadata document with no mention of time at all. Such a document would be viewed as defining a single "static" event that lasts for the duration of the Timed Events Track File into which it is mapped. This is useful because there are scenarios where such metadata makes sense on the IMF Composition timeline; for example, metadata that is applicable to how essence is to be played back but where the values of its properties are constant throughout.
A Timed Events Ancillary Resource shall be:
An Event Scheme shall define a means of describing event-based metadata , potentially of a specific type or for a specific purpose.
The
Event
Scheme
defined
specified
in
Annex
A
may
be
used.
Other
documents
may
also
define
specify
Event
Scheme
s.
An Event Scheme Instance shall comply with an Event Scheme and consist of:
An
Event
Scheme
Instance
shall
describe
a
single
timeline
of
events
such
that
every
point
on
this
timeline
can
be
unambiguously
identified
by
a
value
X,
where
X
is
a
real
number
indicating
the
time
in
seconds
between
the
point
on
the
timeline
and
the
"origin"
of
seconds.
the
timeline.
NOTE 1 ββ This simply means that the events in the Timed Events Resource of the Event Scheme Instance could be plotted against a single time axis measured in seconds. As such, there is no ambiguity when the events are referenced using time in seconds. For example, when X is zero seconds this always refers to the "origin" of the timeline of events.
NOTE
2
ββ
In
For
the
avoidance
of
doubt,
"X
is
a
real
number"
means
that
in
the
general
case,
case
X
could
be
any
real
number
including
integers
and
fractions,
positive
and
negative
numbers.
X
could
be
zero,
positive
or
negative.
NOTE
3
ββ
This
places
no
constraint
on
how
time
is
represented
inside
the
Timed
Events
Resource
as
long
as:
any
internal
representation
can
be
converted
to
a
number
of
seconds;
if
more
than
one
time
value/label
is
assigned
to
each
time
point
then
one
is
specified
as
the
primary
value
to
be
used
when
referencing
the
metadata
(either
by
the
specification
of
the
Timed
Events
Resource
format
or
by
the
definition
specification
of
the
Event
Scheme
).
For
example,
if
a
Timed
Events
Resource
format
gives
both
an
"offset"
value
and
a
"timecode"
value
for
the
start
of
each
event
then
the
Event
Scheme
using
this
format
could
define
specify
that
the
"offset"
value
is
the
"primary"
value.
NOTE 4 ββ This places no constraint on how many simultaneous events the Timed Events Resource can describe. The requirement is simply that each point on the timeline can be uniquely identified β not that this time point must uniquely identify an event.
The
definition
specification
of
an
Event
Scheme
shall
include
(at
the
least):
A URI that uniquely and globally identifies an Event Scheme .
An
Event
Scheme
URI
shall
not
include
the
space
character
(
U+0020
).
Two Event Scheme URI s are identical if and only if they are identical as specified by the Comparing URI References procedure defined in W3C Namespaces in XML 1.0 .
NOTE
1
ββ
The
URI
comparison
algorithm
specified
is
the
same
as
specified
for
Application
ID
values
in
SMPTE
ST
2067-2:2020
.
The
algorithm
is
case-sensitive,
regardless
of
the
case-sensitiveness
of
the
underlying
URI
value.
It
is
therefore
advisable
to
make
Event
Scheme
URI
s
lowercase
to
reduce
the
potential
for
confusion.
It
is
also
advisable
to
avoid
the
use
of
%-escaped
characters
wherever
possible.
However,
if
a
space
character
is
essential
then
this
will
need
to
be
%-escaped
(as
%20
)
given
the
provision
prohibiting
the
inclusion
of
the
space
character.
Zero
or
more
Event
Scheme
URI
s
that
each
identify
an
Event
Scheme
from
which
the
full
Event
Scheme
definition
specification
(except
for
its
Event
Scheme
URI
)
is
inherited.
If one or more parent Event Scheme URI s are specified then any constraints specified as part of the child Event Scheme shall be compatible with, and apply in addition to, the constraints specified for all the parent Event Scheme s.
Zero or more restrictions on the Timed Events Resource such as permitted character encoding, MIME type, data format, structure or contents.
NOTE 2 ββ These restrictions are likely to include a schema for structured data such as XML or JSON.
If
Timed
Events
Ancillary
Resource
s
are
to
be
used
then
the
definition
specification
shall
include:
A Timed Events Track File shall contain an Event Scheme Instance where:
EventSchemeURIs
property
of
the
TimedEventsTextDescriptor
(defined
in
8.6.2
).
The
subsequent
entries
in
this
property
shall
be
the
Parent
Event
Scheme
URI
s
(if
any)
of
the
Event
Scheme
.
A Timed Events Track File shall comply with Clause 8 and with SMPTE ST 2067-2:2020 , 5.1 except that:
data_family
shall
be
"Event-based,
Text-based
Metadata".
data_file_arrangement
shall
be
"ST
2067-206".
NOTE ββ Some properties of a Timed Events Track File are constrained by the Timed Events Virtual Track it is to be used with, as defined in 9.2.1 .
An example Timed Events Track File (MXF file) is provided in Element f (this is based on the Simple Scheme and is suitable for use with the Sequence elements defined in Annex B ).
The
Timed
Events
Resource
shall
be
Clip
Wrapped
as
a
single
TimedEventsDataElement
in
a
single
Data
Item
of
the
Generic
Container
defined
by
SMPTE
ST
379-2
.
The
TimedEventsDataElement
Essence
Element
Key
shall
be
urn:smpte:ul:060e2b34.01020101.0d010301.17011001
File
readers
shall
recognize
and
accept
a
TimedEventsDataElement
even
if
the
final
byte
of
the
Essence
Element
Key
is
0x00
.
There
will
be
The
provisions
of
8.2
mean
that
a
single
Data
Track
representing
the
Timed
Events
Resource
both
that
is
mapped
to
a
Timed
Events
Track
File
will
necessarily
be
represented
by
a
single
Data
Track
in
the
Material
Package
and
a
single
Data
Track
in
the
Top-Level
File
Package.
The
properties
For
both
of
these
Data
Tracks
are
constrained
as
follows:
Tracks:
For
the
Data
Track
in
the
Top-Level
File
Package
Package,
the
Track
Number
shall
be
the
final
four
bytes
of
the
TimedEventsDataElement
Essence
Element
Key
used
in
the
Timed
Events
Track
File
.
The Essence Container Label shall be as specified in Table 1 .
| Item Name | Symbol | Item UL |
|---|---|---|
| MXF-GC Timed Events Text Stream |
MXFGCTimedEventsTextStream
|
urn:smpte:ul:060e2b34.0401010d.0d010301.02130102
|
The provisions of SMPTE ST 410 shall apply.
For each Timed Events Ancillary Resource that is mapped to the MXF file there shall be one Generic Stream.
The Generic Stream Payload shall consist of the bytes of the Timed Events Ancillary Resource .
The entire Generic Stream Payload shall be carried in a single Generic Stream Data Element in a single Generic Stream Partition (no repetitions are permitted). Each Generic Stream Partition shall contain exactly one Timed Events Ancillary Resource .
KLV Fill packets shall not be permitted between the Generic Stream Partition Pack and the Generic Stream Data Element.
The
Generic
Stream
Data
Element
key
shall
be
urn:smpte:ul:060e2b34.0101010c.0d010509.01000000
All Generic Stream Partitions should be physically adjacent in the MXF file.
NOTE ββ The physical location and order of Generic Stream Partitions in the MXF file is not constrained. However, the recommendation is that file writers place all Generic Stream Partitions physically next to each other in the MXF file. File readers are expected to recognize and accept all Generic Stream Partitions regardless of their physical location and order in the MXF file.
A Timed Events Track File shall contain an Index Table which shall consist of a single Index Table Segment.
In this Index Table Segment:
NOTE ββ In this Index Table Segment the Index Duration property is required: a value of 1 would be suitable.
Generic Streams shall not be indexed by the Index Table.
As specified in SMPTE ST 410 , all Generic Stream Partitions are included in the Random Index Pack.
The
Top-Level
File
Package
shall
reference
an
instance
of
the
TimedEventsTextDescriptor
set
(in
accordance
with
8.6.2
)
and
this
instance
shall
accurately
describe
the
Timed
Events
Resource
and
the
Event
Scheme
Instance
it
is
a
part
of.
For
each
Timed
Events
Ancillary
Resource
that
is
mapped
to
the
Timed
Events
Track
File
there
shall
be
one
instance
of
the
TimedEventsAncillaryResourceSubDescriptor
set
(in
accordance
with
8.6.3
)
and
this
instance
shall
accurately
describe
the
Timed
Events
Ancillary
Resource
.
All
the
TimedEventsAncillaryResourceSubDescriptor
instances
shall
be
referenced
by
the
SubDescriptors
property
of
the
TimedEventsTextDescriptor
instance.
TimedEventsTextDescriptor
π
The
TimedEventsTextDescriptor
set
shall
be:
be
as
defined
in
Table
2
and
Table
3
.
The
TimedEventsTextDescriptor
set
shall
be
a
subclass
of
the
Generic
Data
Essence
Descriptor
set
set.
The Data Essence Coding property (inherited from the Generic Data Essence Descriptor) shall be omitted.
| Item Name | Symbol | Item UL |
|---|---|---|
| Timed Events Text Descriptor |
TimedEventsTextDescriptor
|
urn:smpte:ul:060e2b34.027f0101.0d010101.01018113
|
| Text Character Encoding |
TextCharacterEncoding
|
urn:smpte:ul:060e2b34.0101010e.04030303.01000000
|
| Text MIME Type |
TextMIMEType
|
urn:smpte:ul:060e2b34.0101010e.04030303.02000000
|
| Event Scheme URIs |
EventSchemeURIs
|
urn:smpte:ul:060e2b34.0101010e.04030303.03000000
|
|
NOTE
1
ββ
The
value
of
byte
6
of
the
|
||
| Symbol | Type | Len | Req? | Meaning |
|---|---|---|---|---|
TimedEventsTextDescriptor
|
Set UL | 16 | Req | Timed Events Text Descriptor |
| Length | BER length | var | Req | Set length |
| All items from the Generic Data Essence Descriptor set as defined in SMPTE ST 377-1 | ||||
TextCharacterEncoding
|
UTF16String | var | Req | The name of the encoding used to convert the bytes of the Timed Events Resource into a sequence of characters |
TextMIMEType
|
UTF16String | var | Req | The MIME type of the Timed Events Resource |
EventSchemeURIs
|
UTF16String | var | Req | URIs identifying the Event Scheme s in use |
Additional
TextCharacterEncoding
constraints:
TextCharacterEncoding
shall
be
treated
in
the
same
way
as
the
encoding
name
(
EncName
)
in
the
"XML
declaration"
used
at
the
beginning
of
XML
documents
per
W3C
XML
1.0
.
NOTE
2
ββ
As
such,
the
expectation
is
that
TextCharacterEncoding
has
a
value
from
IANA
Character
Sets
Registry
(such
as
"UTF-8")
and
that
file
readers
are
not
case
sensitive
when
processing
this
value.
Additional
TextMIMEType
constraints:
TextMIMEType
is
a
MIME
type
as
defined
in
IETF
RFC
2045
and
IETF
RFC
2046
.
NOTE
3
ββ
As
such,
the
expectation
is
that
TextMIMEType
has
a
value
from
IANA
Media
Types
Registry
.
Additional
EventSchemeURIs
constraints:
EventSchemeURIs
shall
be
a
sequence
of
one
or
more
Event
Scheme
URI
s
where
a
single
space
character
(
U+0020
)
is
used
as
a
separator.
EventSchemeURIs
.
NOTE
4
ββ
The
EventSchemeURIs
property
must
be
populated
in
accordance
with
8.1
.
NOTE
5
ββ
A
file
reader
could
choose
to
provide
some
limited
amount
of
functionality
if
it
supports
at
least
one
(but
not
all)
of
the
Event
Scheme
s
signalled
by
the
EventSchemeURIs
property.
TimedEventsAncillaryResourceSubDescriptor
π
The
TimedEventsAncillaryResourceSubDescriptor
set
shall
be:
be
as
defined
in
Table
4
and
Table
5
.
The
TimedEventsAncillaryResourceSubDescriptor
set
shall
be
a
subclass
of
the
SubDescriptor
set
set.
| Item Name | Symbol | Item UL |
|---|---|---|
| Timed Events Ancillary Resource Sub-Descriptor |
TimedEventsAncillaryResourceSubDescriptor
|
urn:smpte:ul:060e2b34.027f0101.0d010101.01018114
|
| Timed Events Ancillary Resource ID |
TimedEventsAncillaryResourceID
|
urn:smpte:ul:060e2b34.0101010e.04030304.01000000
|
| Timed Events Ancillary Resource MIME Type |
TimedEventsAncillaryResourceMIMEType
|
urn:smpte:ul:060e2b34.0101010e.04030304.02000000
|
| Timed Events Ancillary Resource Stream ID |
TimedEventsAncillaryResourceStreamID
|
urn:smpte:ul:060e2b34.0101010e.04030304.03000000
|
|
NOTE
1
ββ
The
value
of
byte
6
of
the
|
||
| Symbol | Type | Len | Req? | Meaning |
|---|---|---|---|---|
TimedEventsAncillaryResourceSubDescriptor
|
Set UL | 16 | Req | Timed Events Ancillary Resource Sub-Descriptor |
| Length | BER length | var | Req | Set length |
| All items from the abstract SubDescriptor set as defined in SMPTE ST 377-1 | ||||
TimedEventsAncillaryResourceID
|
UTF16String | var | Req | ID of the Timed Events Ancillary Resource as used as a reference in the Timed Events Resource |
TimedEventsAncillaryResourceMIMEType
|
UTF16String | var | Req | The MIME type of the Timed Events Ancillary Resource |
TimedEventsAncillaryResourceStreamID
|
UInt32 | 4 | Req | The Stream ID of the Generic Stream carrying the bytes of the Timed Events Ancillary Resource |
Additional
TimedEventsAncillaryResourceID
constraints:
TimedEventsAncillaryResourceID
shall
be
unique
within
the
TimedEventsAncillaryResourceSubDescriptor
instances
included
within
the
Timed
Events
Track
File
.
Additional
TimedEventsAncillaryResourceMIMEType
constraints:
TimedEventsAncillaryResourceMIMEType
is
a
MIME
type
as
defined
in
IETF
RFC
2045
and
IETF
RFC
2046
.
NOTE
2
ββ
As
such,
the
expectation
is
that
TimedEventsAncillaryResourceMIMEType
has
a
value
from
IANA
Media
Types
Registry
(just
like
TextMIMEType
).
Additional
TimedEventsAncillaryResourceStreamID
constraints:
A Composition, as defined in SMPTE ST 2067-3 , shall contain zero or more Timed Events Virtual Track s in accordance with 9.2 .
A Timed Events Virtual Track shall consist of one or more Sequence elements. These Sequence elements shall conform to a single Sequence element definition in accordance with 9.2.1.2 . Each Sequence element shall contain one or more Resource elements of type TrackFileResourceType (as defined in SMPTE ST 2067-3 ) with each Resource element referencing a Timed Events Track File .
The Sequence elements defined in Annex B may be used. Other documents may also define suitable Sequence elements.
The definition of a Sequence element for a Timed Events Virtual Track shall include (at the least):
Any additional constraints on the purpose or usage of the event-based metadata .
NOTE 1 ββ Two Sequence elements could differ purely in terms of their XML element name and their purpose/usage, as is the case for a Timed Text Virtual Track (per SMPTE ST 2067-2:2020 , 6.3.3).
Specification of zero or more additional SubDescriptor sets for use by Timed Events Track File (s) referenced by the Resource element(s) of the Sequence element.
NOTE 2 ββ These SubDescriptor sets can expose/summarize aspects of the event-based metadata and will appear in the CPL: this might aid with processing the Composition or Timed Events Virtual Track (s).
Constraints on certain timing details in the Header Metadata of Timed Events Track File (s) referenced by the Resource element(s) of the Sequence element. These constraints shall cover (at the least):
TimedEventsTextDescriptor
TimedEventsTextDescriptor
NOTE 3 ββ These properties are not needed by a Timed Events Track File reader but generally need to be populated when creating an MXF file; the Sequence element definition provides use case specific guidance.
Constraints on the timing details of the Resource element(s) of the Sequence element. These constraints shall cover (at the least):
EditRate
IntrinsicDuration
NOTE
4
ββ
These
properties
of
a
Resource
element
could
be
related
to
the
properties
of
the
referenced
Timed
Events
Track
File
and/or
(in
the
case
of
the
Resource
EditRate
)
to
properties
of
other
Virtual
Tracks
in
the
Composition.
NOTE
5
ββ
The
Native
Start
Point
(the
start
of
the
playable
region
of
the
Resource
element
when
the
Resource
element's
EntryPoint
is
zero)
is
aligned
with
the
start
of
the
referenced
Timed
Events
Track
File
and
so
with
the
zero
point
of
the
timeline
of
events
of
the
Event
Scheme
Instance
it
contains
(as
described
by
the
Timed
Events
Resource
).
Specification of how the event-based metadata is to be processed (interpreted, rendered or similar) when it is accessed at arbitrary offsets using the Edit Units of the Timed Events Virtual Track . Particularly important in cases where: there are gaps in the timeline of the event-based metadata ; access is made part way through an event; the Edit Units of the Timed Events Virtual Track are different to the time references used in the Timed Events Resource (s).
Within
a
given
Timed
Events
Virtual
Track
,
the
following
properties
of
the
TimedEventsTextDescriptor
instances
in
the
referenced
Timed
Events
Track
File
s
shall
remain
constant:
TextCharacterEncoding
TextMIMEType
EventSchemeURIs
TimedEventsVirtualTrackParameterSet
π
The
ExtensionProperties
element
of
the
Composition
Playlist
shall
include
zero
or
one
instances
of
the
TimedEventsVirtualTrackParameterSet
element
for
each
Timed
Events
Virtual
Track
in
the
Composition.
The
TimedEventsVirtualTrackParameterSet
element
shall
be
in
accordance
with
Element
a
(with
the
prose
element
taking
precedence
in
the
event
of
a
conflict)
which
shall
be
an
XML
Schema
in
accordance
with
W3C
XML
Schema
Part
1:
Structures
.
The
child
elements
of
the
TimedEventsVirtualTrackParameterSet
element
shall
be
as
follows:
Id
Id
element
shall
identify
the
TimedEventsVirtualTrackParameterSet
instance.
No
two
TimedEventsVirtualTrackParameterSet
instances
shall
have
the
same
Id
value.
TrackId
TrackId
element
shall
be
the
TrackId
(as
defined
in
SMPTE
ST
2067-3
)
of
the
Timed
Events
Virtual
Track
described
by
the
TimedEventsVirtualTrackParameterSet
instance.
TrackRelationship
The
TrackRelationship
element
may
be
used
to
describe
how
the
Timed
Events
Virtual
Track
is
related
to
another
Virtual
Track
in
the
same
Composition.
Within
a
TimedEventsVirtualTrackParameterSet
instance,
if
there
are
multiple
TrackRelationship
elements
they
shall
each
refer
to
a
different
Virtual
Track
(by
means
of
the
RelatedTrackId
child
element).
The
child
elements
of
the
TrackRelationship
element
shall
be
as
follows:
RelatedTrackId
RelatedTrackId
element
shall
be
the
TrackId
(as
defined
in
SMPTE
ST
2067-3
)
of
the
Virtual
Track
to
which
the
Timed
Events
Virtual
Track
is
related.
The
related
Virtual
Track
shall
be
in
the
same
Composition
as
the
Timed
Events
Virtual
Track
.
RelationshipKind
RelationshipKind
element
shall
be
a
URI
identifying
the
nature
of
the
relationship
between
the
Timed
Events
Virtual
Track
and
the
Virtual
Track
identified
by
RelatedTrackId
.
The Simple Scheme is an Event Scheme . Use of the Simple Scheme is optional.
Users of the plug-in defined in this document will often have pre-existing Timed Events Resource s that capture the event-based metadata they wish to add to a Composition. If not, the Simple Scheme can be used as a basis for creating Timed Events Resource s.
The
Simple
Scheme
can
be
used
as-is
or
a
use
case
specific
Event
Scheme
can
be
defined
specified
that:
Example Simple Scheme Timed Events Resource s are provided in Element c (XML) and Element e (JSON). These documents illustrate the same data as both XML and JSON. Many alternative designs are possible for data of this nature: these documents are intended purely as illustrative examples without recommending the design used. Schemas for the extensions used in these documents are not provided but would need to be made available as part of an implementation.
An example Timed Events Track File (MXF file) is provided in Element f (this is based on the Simple Scheme and is suitable for use with the Sequence elements defined in Annex B ).
To add this Simple Scheme event-based metadata to a Composition one option is to choose one of the Sequence elements defined in Annex B . An alternative would be to define a new Sequence element and make it specific to a narrow event-based metadata use case.
The
Simple
Scheme
shall
be
an
Event
Scheme
with
the
following
definition:
specification:
http://www.smpte-ra.org/ns/2067-206/2023/simple-scheme
A Simple Scheme XML Timed Events Resource shall:
document
XML
element
in
accordance
with
Element
b
(with
the
prose
element
taking
precedence
in
the
event
of
a
conflict)
which
shall
be
an
XML
Schema
in
accordance
with
W3C
XML
Schema
Part
1:
Structures
An example Simple Scheme XML Timed Events Resource is provided in Element c .
A Simple Scheme JSON Timed Events Resource shall:
NOTE ββ The expectation is that a Simple Scheme JSON Timed Events Resource conforms to Element d (with the prose element taking precedence in the event of a conflict) which is a JSON Schema in accordance with JSON Schema: A Media Type for Describing JSON Documents .
An example Simple Scheme JSON Timed Events Resource is provided in Element e .
The document-level properties shall be as follows:
id
editRate
objects
List
of
object
entities
that
may
be
referenced
by
event
s
and/or
used
to
group
event
s.
NOTE
1
ββ
The
means
of
creating
links
between
object
s
and
event
s
is
application-specific.
events
event
entities
each
of
which
defines
an
event
on
the
timeline.
The
object
properties
shall
be
as
follows:
id
An
identifier
for
the
object
that
shall
be
unique
within
the
objects
list.
The
identifier
shall
not
include
the
comma
character
(
U+002C
).
NOTE
2
ββ
These
restrictions
on
the
use
of
the
comma
character
allow
it
to
be
used
as
a
separator
in
lists
of
id
s
for
object
s
or
event
s.
The
event
properties
shall
be
as
follows:
id
event
that
shall
be
unique
within
the
events
list.
The
identifier
shall
not
include
the
comma
character
(
U+002C
).
startCount
event
shall
begin
at
the
instant
that
is
seconds
after
the
zero
point
of
the
events
timeline.
endCount
event
shall
end
at
the
instant
that
is
seconds
after
the
zero
point
of
the
events
timeline.
The following additional constraints shall apply:
The
startCount
and
endCount
properties
are
both
optional:
startCount
is
omitted
then
the
event
shall
cover
the
entire
events
timeline
up
to
the
instant
identified
by
the
endCount
.
endCount
is
omitted
then
the
event
shall
continue
indefinitely
from
the
instant
identified
by
the
startCount
.
startCount
and
endCount
may
be
omitted
(this
results
in
what
is
sometimes
known
as
a
"static"
event
that
covers
the
entire
events
timeline).
NOTE 3 ββ This model defines the timing of events differently to some other systems such as: some that use timecodes; the application of certain Markers in an IMF CPL. Some of those systems identify the Edit Units (often video frames) to which an event applies, meaning that every event has a minimum duration of one Edit Unit. In the model defined in this document the instant at which an event starts, and the instant at which it ends, can be specified and so an event can be of zero duration.
NOTE
4
ββ
Negative
values,
positive
values,
and
the
value
zero
are
all
permitted
for
startCount
and
endCount
.
NOTE
5
ββ
The
values
of
startCount
and
endCount
could
be
very
large
and
so
are
expressed
as
strings
to
prevent
issues
inadvertently
arising
when
parsing
the
Timed
Events
Resource
.
For
example,
silent
corruption
can
occur
in
JavaScript
when
numbers
exceeding
a
platform-specific
threshold
are
handled
without
due
care.
NOTE 6 ββ There are no constraints on how events are to cover the events timeline. For example, the following are all permitted: zero-length events; overlapping events; gaps between events.
SimpleSchemeGenericTimedEventsSequence
and
SimpleSchemeMediaTimedEventsSequence
are
Sequence
elements
that
can
be
used
to
add
Simple
Scheme
event-based
metadata
to
a
Composition.
The
use
of
these
Sequence
elements
is
optional.
SimpleSchemeMediaTimedEventsSequence
is
designed
for
event-based
metadata
that
relates
directly
to
the
essence
of
one
or
more
of
the
Virtual
Tracks
in
the
same
Composition.
SimpleSchemeGenericTimedEventsSequence
can
be
used
for
any
Simple
Scheme
event-based
metadata
.
In
some
cases
this
might
utilize
Timed
Events
Resource
s
with
an
editRate
value
unrelated
to
the
Edit
Rate
of
anything
else
in
the
same
Composition.
Care
needs
to
be
taken
when
creating
the
Timed
Events
Resource
s
to
ensure
that
the
event-based
metadata
can
be
appropriately
synchronized
with
the
rest
of
the
Composition
it
is
being
added
to.
Both Sequence elements can be used with either XML or JSON Simple Scheme Timed Events Resource s. However, all Timed Events Resource s referenced from a Timed Events Virtual Track must be either XML or JSON in order to comply with 9.2.2 .
SimpleSchemeGenericTimedEventsSequence
and
SimpleSchemeMediaTimedEventsSequence
shall
be
Sequence
elements
in
accordance
with
9.2.1
and
shall
be
defined
as
follows:
For
both
Sequence
elements:
all
Timed
Events
Resource
s
referenced
from
a
Timed
Events
Virtual
Track
shall
have
the
same
value
of
editRate
(a
Simple
Scheme
document
property).
Additionally,
for
SimpleSchemeMediaTimedEventsSequence
:
the
event-based
metadata
shall
relate
directly
to
the
essence
of
one
or
more
of
the
Virtual
Tracks
in
the
same
Composition.
Specifically,
the
value
of
editRate
(a
Simple
Scheme
document
property)
of
the
Timed
Events
Resource
s
shall
be
an
integer
multiple
(including
one)
of
the
Edit
Rate
of
at
least
one
of
the
Virtual
Tracks
in
the
same
Composition.
NOTE
ββ
Typically
all
the
Resource
elements
that
form
a
Virtual
Track
have
the
same
value
for
EditRate
(a
property
defined
in
SMPTE
ST
2067-3
)
and
so
this
can
be
taken
as
the
Edit
Rate
of
the
Virtual
Track.
TimedEventsTextDescriptor
:
equal
to
the
value
of
the
editRate
(a
Simple
Scheme
document
property)
of
the
Timed
Events
Resource
.
TimedEventsTextDescriptor
:
the
value
of
each
property
(if
present)
shall
be
a
large
value
relative
to
both
(a)
the
duration
of
the
event-based
metadata
and
(b)
the
duration
of
any
Composition
the
Timed
Events
Track
File
could
be
used
with.
EditRate
(a
property
defined
in
SMPTE
ST
2067-3
):
SimpleSchemeGenericTimedEventsSequence
:
the
Resource
EditRate
shall
be
equal
to
the
Edit
Rate
of
the
Main
Image
Virtual
Track.
SimpleSchemeMediaTimedEventsSequence
:
the
Resource
EditRate
shall
be
equal
to
the
Edit
Rate
property
of
the
MXF
Data
Tracks
in
the
referenced
Timed
Events
Track
File
(and
so
equal
to
the
value
of
the
editRate
(a
Simple
Scheme
document
property)
of
the
Timed
Events
Resource
).
IntrinsicDuration
(a
property
defined
in
SMPTE
ST
2067-3
):
shall
be
equal
to
the
Duration
properties
of
the
components
of
the
MXF
Data
Tracks
and
the
Container
Duration
property
of
the
MXF
TimedEventsTextDescriptor
in
the
referenced
Timed
Events
Track
File
.
For
SimpleSchemeGenericTimedEventsSequence
:
use
case
specific
guidance
should
be
provided.
For
SimpleSchemeMediaTimedEventsSequence
:
the
Virtual
Track(s)
to
which
the
event-based
metadata
directly
relates
shall
be
signalled
using
the
mechanism
defined
in
9.2.3
in
order
to
aid
in
appropriate
processing
of
the
metadata.
The following are the non-prose elements of this document: