0% found this document useful (0 votes)
122 views25 pages

SMPTE 336M-2001 Television Data Encoding Protocol Using Key-Length-Value

Uploaded by

narebi6213
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views25 pages

SMPTE 336M-2001 Television Data Encoding Protocol Using Key-Length-Value

Uploaded by

narebi6213
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

SMPTE 336M-2001

SMPTE STANDARD
for Television —
Data Encoding Protocol
using Key-Length-Value
Page 1 of 25 pages

1 Scope to revision, and parties to agreements based on this


standard are encouraged to investigate the possibility
This standard defines an octet-level data encoding of applying the most recent edition of the standards
protocol for representing data items and data groups. indicated below.
This protocol defines a data structure which is inde-
pendent of the application or transportation method ANSI/SMPTE 298M-1997, Television — Universal
used. Labels for Unique Identification of Digital Data

The standard defines a key-length-value (KLV) triplet ISO/IEC 8825-1:1998 (ITU-T X.690), Information
as a data interchange protocol for data items where Technology — ASN.1 Encoding Rules — Specification
the key identifies the data, the length specifies the of Basic Encoding Rules (BER), Canonical Encoding
length of the data, and the value is the data itself. The Rules (CER), and Distinguished Encoding Rules
KLV protocol provides a common interchange for all (DER)
compliant applications irrespective of the method of
implementation or transport.
3 Key-length-value (KLV) protocol
The standard also provides methods for combining
associated KLV triplets in data sets where the set of Table 1 and figure 1 present an introductory view of
KLV triplets is itself coded with KLV data coding pro- the key-length-value (KLV) protocol for encoding data.
tocol. Such sets can be coded in either full form The data encoded may be a single data item or a data
(universal sets) or in one of four increasingly bit-effi- group. The coding of data items is described in clause
cient forms (global sets, local sets, variable-length 4 while the coding of data groups is described in
packs, and fixed-length packs). The standard pro- clause 5 of this standard.
vides a definition of each of these data constructs.
The KLV coding protocol is composed of a universal
The encoding octet range (length of the payload) label (UL) identification key (UL key), followed by a
specified in this standard may generate unusually numeric length (value length), followed by the data
large volumes of data. Consequently, a specific appli- value.
cation of KLV encoding is capable of only a limited
operating data range and those details shall be de- The composition of the UL key is described in 3.1
fined in a relevant application document. of this standard. The length of the full UL key shall
be 16 octets. The length field is described in 3.2 of
2 Normative references this standard. The value is described in 3.3 of this
standard. The value is a sequence of octets of the
The following standards contain provisions which, data type as specified in a relevant standard and is
through reference in this text, constitute provisions not further specified by the KLV protocol. The length
of this standard. At the time of publication, the of the value field is variable and any limitations are
editions indicated were valid. All standards are subject defined in a relevant defining standard.

Copyright © 2001 by THE SOCIETY OF


MOTION PICTURE AND TELEVISION ENGINEERS
595 W. Hartsdale Ave., White Plains, NY 10607
Approved
(914) 761-1100 March 28, 2001
SMPTE 336M-2001

Table 1 – Key-length-value (KLV) fields for encoding of data

Field Description Length Content/Format


UL key Universal label for identification 16 octets Clause 3.1
of the value
Length Length of the value field Defined in a relevant dictionary, essence, Clause 3.2
application standard, but variable length
Clause 3.3
Value Value associated with the UL key Variable

Length

UL Key Length Value

16 octets BER Variable Length Octets

Figure 1 – Key-length-value (KLV) encoding

The bit-order (lsb or msb first) for KLV encoding 0×00 shall have no significance to the meaning of the
shall be that of the transport used to carry the UL key.
information.
The full UL key consists of a 16-octet field including
3.1 ANSI/SMPTE 298M universal label key an object ID (OID) and the UL size (0×0E indicating a
total UL key size of 16 octets) followed by a UL code
KLV coding protocol shall use a 16-word universal and a series of subidentifiers which shall define the
label (UL) according to SMPTE 298M as the UL key UL designators. The first two UL designators shall
to identify the data in the value field. have reserved values for the KLV coding protocol
according to this standard.
Each word in the SMPTE 298M UL is coded using the
basic encoding rules (BER) for the encoding of an
object identifier value specified in ISO/IEC 8825-1, para- NOTE – The SMPTE UL itself adopts KLV coding with
graph 8.19. Each word of the UL key shall be limited to the object ID as the key, the UL size as the length, and
the range 0×00 to 0×7F and shall be represented by a the UL designators as the value.
single octet. The UL key shall have left-to-right signifi-
cance with the first octet as the most significant. The When applying the SMPTE UL to the coding of data
leftmost octet of value 0×00 in the UL key shall define according to this standard, these fields shall be cate-
the termination of the label and all octets of lower gorized as the UL header, UL designators, and item
significance shall also be set to 0×00. Octets of value designator as shown in table 2.

Page 2 of 25 pages
SMPTE 336M-2001

Table 2 – Field descriptions for the universal label key for the KLV encoding of data

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenated subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE subidentifier 1 octet Always 0×34
Registry category Registry category designator identifying 1 octet See table 3
5 designator the category of registry described (e.g.,
dictionaries)
6 Registry designator Registry designator identifying the specific 1 octet See table 3
re gistry in a c ategory (e .g ., metadata
dictionary)
Designator of the structure variant within 1 octet Clause 3.1.2
7 Structure designator
the given registry
Version of the given registry which first 1 octet Incrementing number
8 Version number d efin es the ite m sp ecifie d by the ite m
designator
9-16 Item designator Unique identification of the particular item 8 octets See relevant standard
within the context of the UL designator and version

Annex C shows an informative example of a metadata are dictionary standards and shall be used to define
UL key from the SMPTE metadata dictionary in tabu- single data items with the KLV data construct.
lar and figure formats.
The coding of individual items is defined in clause 4.
Note that decoders which recognize the UL key but
do not want to, or cannot, decode the associated value 3.1.1.2 Sets and packs
may ignore the item and shall continue the decoding
process of subsequent items using the length value SMPTE standards and recommended practices
to skip the value of the undecoded item. If decoders which define the value of word 5 of the UL key as 0×02
only store or forward the item, they shall forward the are set and pack standards and shall be used to define
item unaltered. groups of KLV coded data items.

3.1.1 UL designators The coding of data groups is defined in clause 5.

Table 3 defines octet values for the designators to be 3.1.1.3 Wrappers and containers
used in octets 5 through 7 of the UL designators.
SMPTE standards and recommended practices SMPTE standards and recommended practices
which define a UL key with the value of octet 5 (registry which define the value of word 5 of the UL key as 0×03
category designator) in the range 0×01 to 0×04 shall are wrapper and container standards and use the UL
register the full UL key or keys used with the SMPTE key to identify the wrapper or container and its con-
Registration Authority in the registry identified by tents. Wrappers and containers differ from sets and
octets 6 and 7 (registry designator and structure packs in that they do not necessarily employ an
designator). overall KLV data construct for the entire contents of
the wrapper or container. It is recommended that
3.1.1.1 Dictionaries individual parts of a wrapper or container encode data
using the KLV coding protocol, but these parts may be
SMPTE standards and recommended practices bound together by other techniques. In some cases,
which define the value of word 5 of the UL key as 0×01 a wrapper or container may employ an overall KLV

Page 3 of 25 pages
SMPTE 336M-2001

Table 3 – UL designators for octets 5 through 7


Registry
category Registry Structure
Octet 5 Octet 6 Octet 7 Described in
01 – Dictionaries Clause 4
01 – Metadata dictionaries 0×01-0×7F– Structure designator Other standard/practice
02 – Essence dictionaries 0×01-0×7F – Structure designator Other standard/practice
03 – Control dictionaries 0×01-0×7F – Structure designator Other standard/practice
04 – Types dictionaries 0×01-0×7F – Structure designator Other standard/practice
02 – Groups (sets and packs) Clause 5
01 – Universal sets 0×01-0×7F – Structure designator Clause 5.1
02 – Global sets (default) 0×01-0×7F – Structure designator Clause 5.2
03 – Local sets (default) 0×01-0×7F – Structure designator Clause 5.3
04 – Variable-length packs 0×01-0×7F – Structure designator Clause 5.4
(default)
05 – Fixed-length packs 0×01-0×7F – Structure designator Clause 5.5
03 – Wrappers and containers
01 – Simple wrappers 0×01-0×7F – Structure designator Other standard/practice
02 – Complex wrappers 0×01-0×7F – Structure designator Other standard/practice
04 – Labels Clause 6
01 – Labels dictionary 0×01-0×7F – Structure designator Other standard/practice

construct in certain applications (such as a streaming 3.1.2 Structure designator


interface) but employ another technique in other appli-
cations (such as a storage container). In these cases, Octet 7 shall contain the structure designator for the
the wrapper or container is not redefined as a set or given registry.
a pack but retains the definition as a container or
wrapper for consistency of identification.
Structure designators are allocated to distinguish be-
Simple wrappers and containers are defined as em- tween incompatible versions of the same registry.
bedding all the data into a single framework with no They may be thought of as a major version number.
external references.
NOTE – Different structure designators may be assigned
when a registry becomes so cluttered that it has outlived its
Complex containers and wrappers are defined by
usefulness, or when changes to the contents, structure, or
frameworks where individual data items may be in-
class relationships of the registry are necessary which
cluded in a file by reference rather than embedding. prevent backward compatibility.
Complex containers and wrappers can be more effi-
cient and are suited to local environments where Different structure designators may also be assigned to
references can be easily resolved. distinguish between different syntax rules for construction
and interpretation of values.

The definition of wrappers and containers is outside Different structure designators may also be assigned when
the scope of this standard and can be found in other more than one standard or practice is used to define the
documents. contents of a specific registry.

Page 4 of 25 pages
SMPTE 336M-2001

The precise discipline for allocation of structure des- NOTE 1 – Bits are numbered bit 8 to bit 1 with bit 8 as the
ignators is described for each specific registry in the MSB.
clauses below.
NOTE 2 – Receivers/decoders must decode the length field
correctly whether the long or short form is used.
3.1.3 Version number
3.2.1 BER short-form length encoding
Octet 8 shall contain the version number of the given
registry which first defines the item specified by the The following normative section (including example)
item designator. is quoted from ISO/IEC 8825-1:

New items may be added to registries after initial 8.1.3.4 In the short form, the length octets shall
approval of the controlling standard or practice. Each consist of a single octet in which bit 8 is zero and bits
time a set of item definitions is added, the current 7 to 1 encode the number of octets in the contents
version number of the particular registry is incre- [value] octets (which may be zero), as an unsigned
mented. Each entry in a registry includes the version binary integer with bit 7 as the most significant bit.
number in which the item was first defined. It is this
number which is carried in octet 8.
Example: L = 38 can be encoded as 001001102.

Parsers may use the version number as an additional


The short form for length encoding shall be used
guide and consistency check in the process of parsing
whenever the data value length is less than 128
a UL key.
octets.

3.1.4 Item designator 3.2.2 BER long-form length encoding


Octets 9 through 16 of the UL key comprise the item The following normative section (including example)
designator. is quoted from ISO/IEC 8825-1:

The item designator field is fixed 8 octets in length. 8.1.3.5 In the long form, the length octets shall
Item designators are from 1 to 8 bytes long, and are consist of an initial octet and one or more sub-
padded on the right with zero octets to fill the 8-byte sequent octets. The initial octet shall be encoded
field. ASN.1 object identifier coding is used to provide as follows:
for allocation of varying quantities of subidentifiers in
a hierarchical manner. a) bit 8 shall be one;

The precise meaning and construction of the item b) bits 7 to 1 shall encode the number of sub-
designator depends upon the specific registry and sequent octets in the length octets, as an unsigned
structure variant, and is described further in the clause binary integer with bit 7 as the most significant bit;
below.
c) the value 111111112 shall not be used.
3.2 Encoding of the KLV length field
NOTE – This restriction is introduced for possible future
In the KLV coding protocol, the value of the length field extensions.
shall be encoded using the basic encoding rules
(BER) for either the short form or long form encoding Bits 8 to 1 of the first subsequent octet, followed by
of length octets specified in ISO/IEC 8825-1, para- bits 8 to 1 of the second subsequent octet, followed
graph 8.1.3. This method of value length encoding in turn by bits 8 to 1 of each further octet up to and
is self-contained and allows for efficient parsing of including the last subsequent octet, shall be the en-
KLV encoded data. When the KLV coding protocol is coding of an unsigned binary integer equal to the
applied to groups of KLV coded units, the length field number of octets in the value field, with bit 8 of the first
for individual units may adopt a different method as subsequent octet as the most significant bit.
defined by the standard for the coding of that group
(see clause 5). NOTE – This is sometimes known as big-endian byte order.

Page 5 of 25 pages
SMPTE 336M-2001

Example: specific empty metadata item. Use of empty metadata


items is not mandatory.
L = 201 can be encoded as:
The empty metadata item is a KLV coded packet
Octet 1 = 100000012 Octet 2 = 110010012 [b8 ... b1] which shall define a length value followed by an empty
value field. No attempt should be made to interpret the
NOTE – While there are no restrictions in this standard data in the value field.
on the maximum number of octets in the data value length
field, the presence of large data value lengths can be
The empty metadata item shall be defined in the
determined from the first octet in the BER long-form
length encoding. metadata dictionary.

Where appropriate, individual application standards Empty metadata items may be coded as individual
and recommended practices may define the maxi- items or within sets, when allowed by the specific set
mum octet length of the length field or may place definition.
limitations on the value range of the length field in
order to simplify decoder requirements. Applications may delete or skip any or all empty
metadata items upon receipt. Applications may insert
Implementations shall make every effort to apply a empty metadata items, but shall not require other
valid value to the length field. However, in certain applications to preserve such items.
operations, it may prove impractical to establish the
length of the value field. Such a case is an incoming
data stream which is assigned a key and a length field 4 KLV coding of individual data items
at the start point. In this case, the value of the length
cannot be established until the termination of the The KLV coding of individual data items is a simple
stream and at that point, it may prove impossible to application of the key, length, and value as defined in
return to the length field to enter the value. In such clause 3.
cases, the length field shall be set to [0×80] which
shall indicate a nondeterministic length of the value The UL key of individual data items is defined in a
field. Any application document which allows the dictionary together with the ranges of length and the
length of the value field to be undefined must define specification of the value itself. For individual data
an alternative method of locating the end of the value items, the value of word 5 of the UL key shall be 0×01.
field.
4.1 Identification of value data representations
NOTE – The length value [0×80] is used because it is
normally meaningless as a BER long-form value as it indi-
cates zero subsequent octets. The value of many dictionary items can be repre-
sented in more than one way. For example, a start
3.3 Encoding of data values time in the metadata dictionary can be represented as
a character string of the time code or as an efficient
Data values may be either individual data items or bit-packed form. The first offers direct mapping to a
data groups. In either case, the data is an octet string display whereas the second offers high-transmission
whose length is specified by the length value. The last efficiency for use in narrow-band data channels.
octet of the value shall be the terminating octet of the There are many such dictionary items which have
data sequence. multiple data representations for the same descriptor.

3.4 Empty metadata items Where a dictionary item has more than one data
representation for the value, one representation
Specifications for contiguity of KLV packets including shall be designated as the default representation
any gaps between KLV packets are outside the scope and shall be assigned a key with at least one trailing
of this standard, and are addressed in the appropriate zero octet. Alternate representations shall be assigned
transport layer documents. keys by replacing the leftmost trailing zero octet with
nonzero values, which shall be assigned sequentially.
However, should applications so require it, breaks in Each representation shall be documented in the
the data sequence can be inserted by the use of a dictionary.

Page 6 of 25 pages
SMPTE 336M-2001

Example:
– Local sets are defined as per universal sets, but
01.02.03.04.00.00.00.00 is name (default data rep- offer coding efficiency through the use of short local
resentation in UTF 16 unicode characters); tags whose meaning is defined only within the
context of the local set. Local sets retain the KLV
01.02.03.04.01.00.00.00 is name (different data data construct, but require a separate standard or
representation in ISO 7-bit characters); recommended practice to define the meaning of the
local tags and to provide a map from the local tag
01.02.03.04.02.00.00.00 is name (another data value to the UL key value.
representation in UTF 8 unicode characters).
– Variable-length packs are defined as a further
The parser treats all representations as the same grouping of data elements that eliminates the use
item; i.e., it recognizes 01.02.03.04.00, then looks for of UL keys and local tags for all individual elements
xx in place of the 00 to identify different encodings. within the group. Variable-length packs, therefore,
Since the default representation is defined, the extra rely on a standard or recommended practice which
non-zero term in the fifth position is known to be a new defines the order of data elements within the pack.
data representation of the default dictionary item and
not a new dictionary entry. – Fixed-length packs are the most efficient (and
least flexible) grouping of data elements that elimi-
Many dictionary values share a common set of defini- nates the use of both UL keys and local tags and
tions for multiple data representations. To simplify the removes the length for all individual elements within
dictionary definitions, a types dictionary shall be used the group. Thus, fixed-length packs rely on a stand-
to define these data representations. The types dic- ard or recommended practice which defines both
tionary shall be used as a shared resource for all other the order of data elements and the length of each
dictionaries. data element within the pack.

Annex D shows an example of KLV coding for a single Sets and packs shall consist of a number of individual
metadata item. data elements which are coded as a group by the KLV
set or pack data construct. The set or pack shall be
defined by a full UL key whose value shall be regis-
tered with the SMPTE Registration Authority. A set
5 KLV group coding may encode data elements which are themselves sets
or packs as well as individual dictionary items. This is
Group coding of data elements can be used to reduce called KLV recursive coding and this standard pro-
the overhead of repeating redundant information that vides no limit on the number of levels of recursion
appears in the key of each unit. Group coding also which may be used by any particular application. A
allows logical groups of individual data elements, or pack shall only encode a group of individual dictionary
groups of elements, to be encoded together and items; i.e., packs shall not use recursive coding.
provides options for increased coding efficiency. In
steps of increasing code efficiency, the KLV coding The presence of sets or packs shall be indicated by
protocol can be used to support universal sets, global 0×02 in the registry category designator field (octet 5)
sets, local sets, variable-length packs, and fixed- of the set or pack UL key. The registry designator field
length packs described as follows: (octet 6) shall be used to identify the type of set or
pack. The set or pack standard or practice and registry
– Universal sets shall be used to construct a logical shall be identified by the structure designator field
grouping of data elements and other KLV encoded (octet 7) and the version of the registry shall be
items. Universal sets use the full KLV coding con- identified by the version number field (octet 8).
struct throughout.

– Global sets are defined as per universal sets, but The length of a set or pack shall be encoded as either
offer coding efficiency by sharing a common key BER short-form or long-form coding. Application
header. This coding gain is lossless and every UL standards or recommended practices may provide an
key can be fully recovered from the data in the upper bound to the value of the BER coded length to
global set alone. ease decoder requirements.

Page 7 of 25 pages
SMPTE 336M-2001

Application standards or recommended practices The UL key of a global set shall be 16 octets in length.
may also provide a fixed-length coding scheme spe-
cific to the application for sets or packs embedded The length of a global set shall be coded as per ASN.1
within sets or packs. However, this is discouraged. notation; BER long or short form as required.

Where the length fields of the KLV items in a global The value of a global set shall be a sequence of
set, a local set, and a variable-length pack are identi- KLV-encoded elements whose total length is given by
fied as fixed length, the most significant byte shall be the length field. Each and every data element in a
encoded first (big-endien). global set shall apply KLV data coding protocol, but
with a shortened global tag value replacing the UL key
The set or pack value shall be comprised of a number as described next.
of individual data elements with coding as defined by
the set or pack type. The global set UL shall be defined in two parts:

The following clauses define how the data elements – The first group of 8 octets (UL header and UL
are encoded for universal sets, global sets, local sets, designator) shall be registered with the SMPTE
variable-length packs, and fixed-length packs. Registration Authority and shall be used to identify
the global set standard or recommended practice
5.1 Universal sets including the structure designator. Each entry in the
global set registry shall record the version number
The UL key of a universal set shall be defined by an in which it was first defined.
accompanying standard or recommended practice
including a structure designator and an accompany- – The second group of 8 octets is called the global
ing universal set registry including a version number. set designator and shall be used to define the
common UL header and UL designator for all the
The UL key of a universal set shall be 16 octets in UL keys within the global set. This second group of
length. 8 octets shall include the UL header fields together
with as much of the UL designator as is common to
The length of a universal set shall be coded as per all items in the global set. The global set designator
ASN.1 notation; BER long or short form as required. may be terminated by a zero-value octet to indicate
termination of the common UL designator root. The
The value of a universal set shall be a sequence of significant length of the second group to the zero
KLV-encoded elements whose total length is given by value terminator shall be 2 to 8 octets. If the length
the length field. Each and every data element in a of the second group is 8 octets, then the zero-value
universal set shall apply KLV data coding protocol terminator octet is not required.
including the full UL key value.
Each global tag is from 2 to 12 words in length. Global
Relevant application standards or practices may tags of length less than 12 words shall be terminated
specify constraints upon the value of a universal set by a single zero value thus removing redundant UL
such as the number and size of items, the allowed data.
sequence of items, and whether any items are man-
datory or optional. The full 16-octet UL key of each item in the global set
can be losslessly recreated by concatenating the
The UL key for universal sets is described in table 4. nonzero octets of the global set designator and the
Figure 2 illustrates the data structure for the encoding global tag of the item. If the resulting concatenation is
of universal sets. less than 16 octets in length, the remaining octets in
the 16-octet space shall be zero filled.
5.2 Global sets
Relevant application standards or recommended
The UL key of a global set shall be defined by an practices may specify constraints upon the value of a
accompanying standard or recommended practice global set such as the number and size of items, the
including a structure designator and an accompany- allowed sequence of items, and whether any items
ing global set registry including a version number. are mandatory or optional.

Page 8 of 25 pages
SMPTE 336M-2001

Table 4 – Field descriptions for the UL key for the KLV encoding of universal sets
No. Field Description Length Content/Format
UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE subidentifier 1 octet Always 0×34
5 Registry category Sets and packs 1 octet Always 0×02
designator
6 Registry designator Universal sets 1 octet Always 0×01
7 Structure designator Designator of the structure variant within 1 octet Incrementing number
the universal set registry
8 Version number Version of the given registry which first 1 octet Incrementing number
d efin es the ite m sp ecifie d by the ite m
designator
9-16 Universal set Unique identification of the particular 8 octets See universal set
designator universal set registry

Universal Set Key Value Length

UL UL Universal Set Length Value


Header Designators Designator
16 octets UL Key BER

Key L Value K L V K L V
Value is composed of individually-encoded KLV items with 16 byte Key and BER Length

Figure 2 – KLV coded universal set data structure

Page 9 of 25 pages
SMPTE 336M-2001

The UL key for global sets is described in table 5. be registered with the SMPTE Registration Authority
to guarantee a unique local set UL key value.
Figure 3 illustrates the structure for the encoding of
global data sets. The data structure for the encoding of local sets is
illustrated in figure 4.
The 16-octet global set UL key is followed by the
global set length (encoded using BER short- or long- The 16-octet local set UL key is followed by the set
form encoding) which is followed by a number of length, which is followed by a number of elements, which
elements which shall each be triplets of global tag, shall each be triplets of local tag, length, and value.
length, and value.
The preferred size of the local tag fields is 1 octet, and the
The preferred specification of the length fields of preferred specification of the length fields is BER short-
individual elements is BER short- or long-form encod- or long-form encoding. The full range of allowed com-
ing. The full range of allowed length field lengths is binations of tag and length field lengths is defined by
defined by the registry designator, according to table the registry designator, according to table 8.
6. All length fields in the global set shall follow the
same syntax. A relevant local set standard or recommended practice
shall define the link between the local tag of each
Global sets can accommodate recursion, so that the element and the corresponding UL key value. This link
UL key linked to a global tag may identify either a shall be defined in a relevant local set standard or
single data element from a dictionary or a data set or recommended practice that provides for each local tag
pack from a set or pack standard or recommended the UL key of the defining element. This linking defini-
practice and the corresponding registry. tion is a mechanism that gives users of this standard the
flexibility to define their own aliases for highly efficient coding.
An informative example of the operation of global sets Developers of local sets shall provide the mapping
is given in annex F. between each tag in a local set and the defining UL key.
Unlike universal sets and global sets, where the UL key
5.3 Local sets of each element in the set can be losslessly recreated,
the UL key of each local set tag cannot be recon-
A local set is defined as a number of data elements structed without recourse to the defining standard or
that are grouped to reduce the length of the keys for recommended practice and the corresponding registry.
each element within the set. Elements may be in any
order within the local set and may be present or absent. Local sets can accommodate recursion so that the UL
key linked to a local tag may identify either a single
The UL key of a local set shall be defined by an data element from a dictionary or a data set or pack
accompanying standard or recommended practice from a set or pack standard or recommended practice
including a structure designator and an accompany- and the corresponding registry.
ing local set registry including a version number.
Figure 5 is an informative illustration of the linking
The UL key of a local set shall be 16 octets in length. between a local tag and a full UL key.

The length of a local set shall be coded by default as per 5.4 Variable-length packs
BER length notation; long or short form as required.
A variable-length pack is similar to a local set, but does not
The value of a local set shall be a sequence of have local tags. Thus, each element of a variable-length pack
KLV-encoded elements whose total length is given by comprises only a length field and a value field. Elements in
the length field. a variable-length pack must appear in the defined order.

The UL key for local sets is described by table 7. The The UL key of a variable-length pack shall be defined
local set designator is defined within the last 8 octets by an accompanying standard or recommended prac-
in the local set UL key. The 16-octet local set key shall tice including a structure designator and an accompa-
be defined in an associated standard or recom- nying variable-length pack registry including a version
mended practice and the local set UL key value shall number.

Page 10 of 25 pages
SMPTE 336M-2001

Table 5 – Field descriptions for the UL key for global set encoding

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE designator 1 octet Always 0×34
5 Registry category Sets and packs 1 octet Always 0×02
designator
6 Registry designator Global sets 1 octet See table 6
7 Structure designator Designator of the structure variant within 1 octet See the accompanying
the global set registry standard or practice
8 Version number Version of the global set registry which 1 octet Incrementing number
first de fine s th e item spe cified b y th e
globa l se t de signator
Global set designator:
9-16 Global set designator The common portion of the UL key shared 8 octets Active number defines
by all global tags the octets needed to
establish the common
root for all global tags
(2-8 octets)

Global Set Key


UL UL Global Set Length
Header Designators Designator

16 octet UL Key BER

Global Set Contents


Global Global Global
Length 1 Value 1 Length 2 Value 2 Length 3 Value 3
Tag 1 Tag 2 Tag 3

Length 1 Length 2 Length 3


Length L

Figure 3 – KLV coded global set data structure

Page 11 of 25 pages
SMPTE 336M-2001

Table 6 – Coding of registry designator (octet 6) for global set syntax


Octet 6 value Length fields Description
0×02 BER short or long Any length
0×22 1 octet Length up to 255
0×42 2 octets Length up to 65535
0×62 4 octets Length up to 2 32 -1

Table 7 – Field descriptions for the UL key for local set encoding

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE designator 1 octet Always 0×34
5 Registry category Sets and packs 1 octet Always 0×02
designator
6 Registry designator Local sets 1 octet See table 8

7 Structure designator Designator of the structure variant within 1 octet Defined by the local
the local set registry set registry and
standard or practice
8 Version number Version of the local set registry which 1 octet Incrementing number
first de fine s th e item spe cified b y th e
local set des ig nator
Local set designator:
9-16 Local set designator Defines the local set placement in a 8 octets Defined by the local
hierarchical structure set registry and
standard or practice

Tag3 L3 Value3
Local Set Key
Tag2 L2 Value2
UL UL Local Set Local
L L1 Value1
Header Des Designator Tag1

16 octets UL Key BER L octets

Figure 4 – KLV coded local set structure

Page 12 of 25 pages
SMPTE 336M-2001

Table 8 – Coding of registry designator (octet 6) for local set syntax

Octet 6 value Length fields Local tag fields length Description


0×03 BER short or long 1 octet Any length
0×13 BER short or long 2 octets
0×1B BER short or long 4 octets
0×23 1 octet 1 octet Length up to 255
0×33 1 octet 2 octets
0×3B 1 octet 4 octets
0×43 2 octets 1 octet Length up to 65535
0×53 2 octets 2 octets
0×5B 2 octets 4 octets
0×63 4 octets 1 octet Length up to 2 32 -1
0×73 4 octets 2 octets
0×7B 4 octets 4 octets

Local Set Standard

Tag3 L3 Value3
Local Set Key
Tag2 L2 Value2
UL UL Local Set Local
L L1 Value1
Header Des Designator Tag1
BER

Link S ame le ngth, Ide ntica l va lue ,


diffe re nt e ncoding Ide ntica l encoding

Dictionary

UL Key Length Value

Figure 5 – Informative illustration of local set label to global key linking

Page 13 of 25 pages
SMPTE 336M-2001

The UL key of a variable-length pack shall be 16 octets fining standard or recommended practice and the cor-
in length. responding registry.

The length of a variable-length pack shall be coded Variable-length packs can accommodate recursion so
by default as per BER notation; long or short form as that the UL key linked to an element may identify either
required. a single data element from a dictionary or a data group
from a set or pack standard or recommended practice
The value of a variable-length pack shall be a se- and the corresponding registry.
quence of KLV-encoded elements whose total length
is given by the length field. 5.5 Fixed-length packs

The UL key for variable-length pack is described in table A fixed-length pack is defined as per the local set
9. The variable-length pack designator is defined within section, but does not have local tags. Thus, each
the last 8 octets in the local set UL key. The variable-length element of a fixed-length pack is comprised of only a
pack key shall be defined in an associated standard or value field.
recommended practice and the variable-length pack UL
key value shall be registered with the SMPTE Registration A fixed-length pack is similar to a variable length pack,
Authority to guarantee a unique variable-length pack UL but does not have length fields. Thus, each element
key value. of a fixed-length pack comprises only a value field.
Elements in a fixed-length pack must appear in the
The data structure for the encoding of variable-length defined order.
packs is illustrated in figure 6.
The UL key of a fixed-length pack shall be defined
The 16-octet variable-length pack UL key is followed by an accompanying standard or recommended prac-
by the variable-length pack length (encoded using tice including a structure designator and an accom-
BER short- or long-form encoding) which is followed panying fixed-length pack registry including a version
by a number of elements which shall each be doublets number.
of length and value.
The UL key of a fixed-length pack shall be 16 octets
The default specification of the length fields of individ- in length.
ual elements is BER short- or long-form encoding. The
full range of allowed length field lengths is defined by The length of a fixed-length pack shall be coded as
the registry designator, according to table 10. All per BER notation; long or short form as required.
length fields in the variable-length pack shall follow
the same syntax. The value of a fixed-length pack shall be a sequence
of elements whose total length is given by the length
Because the elements within a pack do not have a field.
local tag, the order of the elements shall be specified
by the defining standard or recommended practice. The UL key for a fixed-length pack is described in table
11. The fixed-length pack designator is defined within
A relevant variable-length pack standard or recom- the last 8 octets in the local set UL key. The fixed-
mended practice shall define the link between each length pack key shall be defined in an associated
element and the corresponding UL key value by pro- standard or recommended practice and the fixed-
viding the UL key of the defining element. This linking length pack UL key value shall be registered with the
definition is a mechanism that gives users of this SMPTE Registration Authority to guarantee a
standard the flexibility to define their own aliases for unique fixed-length pack UL key value.
highly efficient coding. Developers of variable-length
packs shall register the mapping between each tag in The data structure for the encoding of fixed-length
a variable-length pack and the defining UL key. Unlike packs is illustrated in figure 7.
universal sets and global sets, where the UL key of
each element in the set can be losslessly recreated, Because the elements within a fixed-length pack do
the UL key of each element in a variable-length pack not have a local tag, the order of the elements shall
cannot be reconstructed without recourse to the de- be specified by the defining standard or practice.

Page 14 of 25 pages
SMPTE 336M-2001

Table 9 – Field descriptions for the UL key for variable-length pack encoding

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE designator 1 octet Always 0×34
5 Registry category Sets and packs 1 octet Always 0×02
designator
6 Registry designator Variable-length packs 1 octet See table 10

7 Structure designator Designator of the structure variant within 1 octet Defined by the vari-
the variable-length pack registry able-length pack
registry and
standard or practice

8 Version number Version of the variable-length pack registry 1 octet Incrementing number
which first defines the item specified by
the variable-length pack designator
Variable-length
pack designator:
9-16 Variable-length Defines the variable-length pack place- 8 octets Defined by the vari-
pack designator ment in a hierarchical structure a ble-length pack
registry and standard
or practice

L3 Value3
Variable-Length Pack Key
L2 Value2
UL UL VL Pack L1 Value1
Header Des Designator
L

16 octets UL Key BER L octets

Figure 6 – KLV coded variable-length pack structure

Table 10 – Coding of registry designator (octet 6) for variable-length pack syntax


Octet 6 value Length fields Description
0×04 BER short or long Default
0×24 1 octet Length up to 255
0×44 2 octets Length up to 65535
0×64 4 octets Length up to 232 -1

Page 15 of 25 pages
SMPTE 336M-2001

Table 11 – Field descriptions for the UL key for fixed-length pack encoding

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE designator 1 octet Always 0×34
5 Registry category Sets and packs 1 octet Always 0×02
designator
6 Registry designator Fixed-length packs 1 octet Always 0×05
7 Structure designator Designator of the structure variant within 1 octet Incrementing number
the fixed-length pack registry
8 Version number Version of the fixed-length pack registry 1 octet Incrementing number
which first defines the item specified by
the fixed-length pack designator
Fixed-length pack
designator:
9-16 Fixed-length pack Defines the fixed-length pack placement 8 octets Defined by the fixed-
designator in a hierarchical structure length pack registry
and standard or
practice

Fixed Length Pack Key

UL UL FL Pack Value1 Value2 Value3


Header Des Designator
L

16 octets UL Key BER L octets

Figure 7 – KLV coded fixed-length pack structure

A relevant fixed-length pack standard or recom- recreated, the UL key of each element in a fixed-
mended practice shall define the link between each length pack pack cannot be reconstructed without
element and the corresponding UL key value by pro- recourse to the defining standard or recommended
viding the UL key of the defining element. This linking practice and the corresponding registry.
definition is a mechanism that gives users of this
standard the flexibility to define their own aliases for Fixed-length packs can accommodate recursion so
highly efficient coding. Developers of fixed-length that the UL key linked to an element may identify either
pack packs shall register the mapping between each a single data element from a dictionary or a data group
tag in a fixed-length pack pack and the defining UL from a set or pack standard or recommended practice
key. Unlike universal sets and global sets, where the and the corresponding registry.
UL key of each element in the set can be losslessly

Page 16 of 25 pages
SMPTE 336M-2001

6 Labels of the data contents which are not identified by the set,
wrapper, or container UL key. Such an aspect can be
Labels shall be used to identify any object whose identified by including a label in the set, wrapper, or
meaning is entirely conveyed by the label itself, and container as a data item. It is necessary to define the
there is no requirement for an independent value. presence of a label at a high level in the UL key so
Thus, a label does not need either a length field or a that decoders are aware that the item is a label only
value field. Labels shall be defined in the labels dic- and not a KLV coded item.
tionary. A label is illustrated in figure 8.
NOTE – The label can also be the value in KLV encoding.

Within wrappers and containers, and sometimes even The structure of the UL key for labels is defined by
in sets, there is sometimes the need to identify aspects table 12.

Label
UL UL Label
Header Designators Designator

16 octet UL Key

Figure 8 – UL key for labels

Table 12 – Field descriptions for the UL key for labels

No. Field Description Length Content/Format


UL header:
1 OID Object identifier 1 octet Always 0×06
2 UL size 16-octet size of the UL 1 octet Always 0×0E
UL designators:
3 UL code Concatenation of subidentifiers ISO, ORG 1 octet Always 0×2B
4 SMPTE designator SMPTE designator 1 octet Always 0×34
5 Registry category Labels 1 octet Always 0×04
designator
6 Registry designator Specific labels registry 1 octet Incrementing number
7 Structure designator Designator of the structure variant within 1 octet Incrementing number
the labels registry
8 Version number Version of the labels registry which first 1 octet Incrementing number
defines the item specified by the label
designator
Label designator:
9-16 Label designator Defines the label’s placement in a hier- 8 octets Defined by the labels
archical structure registry and standard
or prac tice

Page 17 of 25 pages
SMPTE 336M-2001

Annex A (normative)
Glossary of terms

A.1 basic encoding rules (BER): An ISO standard encoding A.7 object identifier (OID): The first octet in the UL that iden-
for various constructs in ASN.1. Includes the encoding of tifies it as a UL — abbreviated OID. Always 06 in hexadeci-
object identifiers and also of length fields. The length octets mal (hex) notation (0×06).
of the KLV packet shall conform to the basic encoding rules
(BER) for either the short-form or long-form encoding speci- A.8 octet: An 8-bit word; directly equivalent to the com-
fied in ISO/IEC 8825-1, pars. 8.1.3.4 and 8.1.3.5. monly used byte.

A.2 container: A generic name for a data object which pro- A.9 primitive encoding: In ASN.1 notation, a definite-length
vides a framework to contain different kinds of information. encoding method that applies to simple encoding types and
The term is commonly applied to multimedia where audio, types derived from simple types by implicit tagging. It
video, data essence, and metadata are formed into a single re qu ires tha t th e le ng th o f s ub ide nti fiers b e kn own i n
data object. advance.

A.10 SMPTE Registration Authority: A registration organi-


A.3 essence: Identified by the EBU/SMPTE Task Force for
zation which keeps a record of the use of ANSI/SMPTE
Harmonized Standards for the Exchange of Program Mate-
298M UL keys and other reference data.
rial as Bitstreams as video, audio, and/or data information.
Essence could also be graphics, telemetry, photographs, or
A.11 type or data type: I n f o r m a t i o n a b o u t t h e r e p r e-
other information.
sentation of the data value.

A.4 metadata: Generally referred to as data about data or


data describing other data. More specifically, information
A.12 wrapper: Identified by the EBU/SMPTE Task Force
that is considered ancillary to or otherwise directly comple-
for Harmonized Standards for the Exchange of Program
mentary to the essence. Any information that a content
Material as Bitstreams as a means of wrapping video, audio,
provider considers useful or of value when associated with
data essence, and metadata information into a common
the essence being provided.
framework. In this definition, it is identical to the definition
of a container, but wrappers may further be used to wrap
A.5 metadata dictionary: Th e s t a n d a rd d a t a b a s e o f a p- further metadata around an already defined container. In
proved, registered data element tags, their definitions, and this sense, a container is a multipurpose box which has
their allowed formats. audio-visual information and a wrapper is the packaging
around the box including labeling and other supporting
A.6 metadata item: A broad term for a unit of metadata. metadata.

Annex B (informative)
Organization of references

The organization of SMPTE standards and recommended SMPTE normative standards for defining metadata and its
practices addressing the coding of individual data items coding. Informative SMPTE documents supplement the
such as essence and metadata is illustrated in figure B.1. standards for encoding with examples and administrative
No single standard can contain all of the information needed instructions on managing the data standardization and reg-
to describe and encode all data. This encoding protocol istration process.
standard and the metadata dictionary standards form the

Page 18 of 25 pages
SMPTE 336M-2001

SMPTE
Metadata
Essence Dictionary Metadata
SMPTE Engineering Guidelines (EGs)

or Essence Structure Other


for Architecture and Implementation

Essence Advanced
Metadata Type 1...
Metadata
Type 2... Classes
Dictionaries
Application SMPTE (e.g. MPEG7)
Layer Metadata
Dictionary
Contents
Value Types

Protocol Key - Length -Value Protocol


Layer
K-L-V Group/Pack Strategies

Transport 291M ANC AES3 MPEG-2 Other


Layer Packet Packet Packet Transports

Legend:
SMPTE SMPTE
Other SMPTE
Engineering Recommended
Standards Guidelines (EGs) Standards Practices (RPs)

Figure B.1 – Organization of references


Figure B.1

Page 19 of 25 pages
SMPTE 336M-2001

Annex C (informative)
Example usage of SMPTE UL

An expanded example of SMPTE universal label fields for SMPTE universal label fields for metadata encoding is
metadata encoding is shown in table C.1. An example of shown in figure C.1

Table C.1 – Expanded example of SMPTE universal label fields for metadata encoding

Octet No. Value (hex) Example explanation Reference


1 0×06 UL object identifier ANSI/SMPTE 298M
2 0×0E UL size ANSI/SMPTE 298M
3 0×2B Concatentation of designators ISO, ORG ANSI/SMPTE 298M
4 0×34 SMPTE designator ANSI/SMPTE 298M
5 0×01 SMPTE dictionaries designator SMPTE Registration Authority
6 0×01 Metadata dictionary designator SMPTE Registration Authority
7 0×01 Structure standard reference number SMPTE Registration Authority
8 0×01 Standard version number SMPTE Registration Authority
9 0×01 Metadata class: Identifiers and locators Metadata dictionary
10 0×01 Unique identifier subclass Metadata dictionary
11 0×11 ISO identifiers Metadata dictionary
12 0×01 ISO audio-visual number (ISAN) Metadata dictionary
13 0×00 Unused Metadata dictionary
14 0×00 Unused Metadata dictionary
15 0×00 Unused Metadata dictionary
16 0×00 Unused Metadata dictionary

06 0E 2B 34 01 01 01 01 01 01 11 01 00 00 00 00
NOTE – Hex-encoded octets; 0x removed and separated for readability.

Figure C.1 – Example SMPTE universal label fields for metadata encoding

Page 20 of 25 pages
SMPTE 336M-2001

Annex D (informative)
Example of the KLV encoding of a single metadata item

Table D.1 shows an example of the fields that comprise the human-assigned main title for a video segment. For clarity,
KLV protocol used for an individual value encoding of a each octet of the UL key is separated by spaces.

Table D.1 – Informative example of K-L-V individual value encoding of metadata

Key (hex encoded) 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00h


Description Main title (ISO 7-bit char)
Length (binary) [hex] 0×10
Value (ASCII) Yesterdays World

Annex E (informative)
Example of a universal set

In the example universal metadata set in table E.1, the three one or more of the elements of the defined universal set is
elements of main title, ISAN number, and supply organiza- missing, the remaining valid parts of the universal set can
tion can be in any order and each entry is self-contained with still be recovered because each has its own key-length-
its own individual universal key-length-value. Similarly, if value combination.

Table E.1 – Informative example of K-L-V universal set encoding of metadata


(octets separated by spaces for readability)

Universal set UL 06 0E 2B 34 02 01 01 01 01 01 01 01 00 00 00 00
Universal set length 0×59
Universal key 1 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00
Description Main title (ISO 7-bit char)
Length 1 0×10
Value 1 Yesterdays World
Universal key 2 06 0E 2B 34 01 01 01 01 01 01 11 00 00 00 00 00h
Description ISAN number
Length 2 0×10
Value 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Universal key 3 06 0E 2B 34 01 01 01 01 02 01 01 00 00 00 00 00h
Description Supply organization (ISO 7-bit char)
Length 3 0×06
Value 3 WXYZ15

Page 21 of 25 pages
SMPTE 336M-2001

Annex F (informative)
Example of a global set

In the example global metadata set in table F.1, the three or more of the elements of the defined global set is missing,
elements of main title, ISAN number, and supply organiza- the remaining valid parts of the global set can still be recov-
tion can be in any order and each entry is self-contained with ered because each has its own tag-length-value combina-
its own individual global tag-length-value. Similarly, if one tion.

Table F.1 – Informative example of K-L-V global set encoding of metadata


(octets separated by spaces for readability)

Global set UL 06 0E 2B 34 02 02 01 01 06 0E 2B 34 01 01 01 01
Global set length 0×36
Global tag 1 01 05 01 02 00
Original UL key 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00
Description Main title (ISO 7-bit char)
Length 1 0×10
Value 1 Yesterdays World
Global tag 2 01 01 11 00
Original UL key 06 0E 2B 34 01 01 01 01 01 01 11 00 00 00 00 00
Description ISAN number
Length 2 0×10
Value 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Global tag 3 02 01 01 00
Original UL key 06 0E 2B 34 01 01 01 01 02 01 01 00 00 00 00 00
Description Supply organization (ISO 7-bit char)
Length 3 0×06
Value 3 WXYZ15

Page 22 of 25 pages
SMPTE 336M-2001

Annex G (informative)
Example of a local set

In the example local metadata set in table G.1, the three more of the elements of the defined local set is missing, the
elements of main title, ISAN number, and supply organiza- remaining valid parts of the local set can still be recovered
tion can be in any order and each entry is self-contained with because each has its own local tag-length-value combina-
its own individual local tag-length-value. Similarly, if one or tion.

Table G.1 – Informative example of K-L-V local set encoding of metadata


(octets separated by spaces for readability)

Local set UL 06 0E 2B 34 02 03 01 01 06 0E 2B 34 01 01 01 01

Local set length 0×2c

Local tag 1 0×01

Original UL key 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00

Description Main title (ISO 7-bit char)

Length 1 0×10

Value 1 Yesterdays World

Local tag 2 0×02

Original UL key 06 0E 2B 34 01 01 01 01 01 01 11 00 00 00 00 00

Description ISAN number

Length 2 0×10

Value 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16

Local tag 3 0×03

Original UL key 06 0E 2B 34 01 01 01 01 02 01 01 00 00 00 00 00

Description Supply organization (ISO 7-bit char)

Length 3 0×06

Value 3 WXYZ15

Page 23 of 25 pages
SMPTE 336M-2001

Annex H (informative)
Example of a variable-length pack

In the example variable-length pack in table H.1, the three If one or more of the elements of the defined variable-length
elements of main title, ISAN number, and supply organiza- pack is missing, the remaining valid parts of the variable-
tion must be in the order specified and must all be present. length pack cannot be recovered.

Table H.1 – Informative example of K-L-V variable-length pack encoding of metadata


(octets separated by spaces for readability)

VL pack UL 06 0E 2B 34 02 04 01 01 06 0E 2B 34 01 01 01 01
VL pack length 0×29
Original UL key 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00
Description Main title (ISO 7-bit char)
Length 1 0×10
Value 1 Yesterdays World
Original UL key 06 0E 2B 34 01 01 01 01 01 01 11 00 00 00 00 00
Description ISAN number
Length 2 0×10
Value 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Original UL key 06 0E 2B 34 01 01 01 01 02 01 01 00 00 00 00 00
Description Supply organization (ISO 7-bit char)
Length 3 0×06
Value 3 WXYZ15

Annex I (informative)
Example of a fixed-length pack

In the example fixed-length pack in table I.1, the three or more of the elements of the defined fixed-length pack is
elements of main title, ISAN number, and supply organiza- missing, the remaining valid parts of the fixed-length pack
tion must be in the order and of the length specified. If one cannot be recovered.

Table I.1 – Informative example of K-L-V fixed-length pack encoding of metadata


(octets separated for readability)
FL pack UL 06 0E 2B 34 02 01 01 01 06 0E 2B 34 01 01 01 01
FL pack length 0×26
Original UL key 06 0E 2B 34 01 01 01 01 01 05 01 02 00 00 00 00
Description Main title (ISO 7-bit char)
Value 1 Yesterdays World
Original UL key 06 0E 2B 34 01 01 01 01 01 01 11 00 00 00 00 00
Description ISAN number
Value 2 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Original UL key 06 0E 2B 34 01 01 01 01 02 01 01 00 00 00 00 00
Description Supply organization (ISO 7-bit char)
Value 3 WXYZ15_ _ _ _ _ _ _ _ _ _

Page 24 of 25 pages
SMPTE 336M-2001

Annex J (informative)
Example of a label

An example of a label is given in table J.1.

Table J.1 – Example of a label


Label UL 06 0E 2B 34 04 01 01 01 11 22 33 44 55 00 00 00
Description 1/2-in type J cassette
NOTE – Octets separated by spaces for readability.

Annex K (informative)
Bibliography

ISO/IEC 8824-1:1998 (ITU-T X.680), Information Technology Final Report: Analyses and Results, EBU/SMPTE Task Force
— Abstract Syntax Notation One (ASN.1) — Specification of for Harmonized Standards for the Exchange of Program and
Basic Notation Material as Bitstreams, July 1998. SMPTE J.107:605-815

Page 25 of 25 pages

You might also like