The precise discipline for allocation of structure des-
ignators is described for each specific registry in the
clauses below.
3.1.3 Version number
Octet 8 shall contain the version number of the given
registry which first defines the item specified by the
item designator.
New items may be added to registries after initial
approval of the controlling standard or practice. Each
time a set of item definitions is added, the current
version number of the particular registry is incre-
mented. Each entry in a registry includes the version
number in which the item was first defined. It is this
number which is carried in octet 8.
Parsers may use the version number as an additional
guide and consistency check in the process of parsing
a UL key.
3.1.4 Item designator
Octets 9 through 16 of the UL key comprise the item
designator.
The item designator field is fixed 8 octets in length.
Item designators are from 1 to 8 bytes long, and are
padded on the right with zero octets to fill the 8-byte
field. ASN.1 object identifier coding is used to provide
for allocation of varying quantities of subidentifiers in
a hierarchical manner.
The precise meaning and construction of the item
designator depends upon the specific registry and
structure variant, and is described further in the clause
below.
3.2 Encoding of the KLV length field
In the KLV coding protocol, the value of the length field
shall be encoded using the basic encoding rules
(BER) for either the short form or long form encoding
of length octets specified in ISO/IEC 8825-1, para-
graph 8.1.3. This method of value length encoding
is self-contained and allows for efficient parsing of
KLV encoded data. When the KLV coding protocol is
applied to groups of KLV coded units, the length field
for individual units may adopt a different method as
defined by the standard for the coding of that group
(see clause 5).
NOTE 1 – Bits are numbered bit 8 to bit 1 with bit 8 as the
MSB.
NOTE 2 – Receivers/decoders must decode the length field
correctly whether the long or short form is used.
3.2.1 BER short-form length encoding
The following normative section (including example)
is quoted from ISO/IEC 8825-1:
8.1.3.4 In the short form, the length octets shall
consist of a single octet in which bit 8 is zero and bits
7 to 1 encode the number of octets in the contents
[value] octets (which may be zero), as an unsigned
binary integer with bit 7 as the most significant bit.
Example: L = 38 can be encoded as 00100110
2
.
The short form for length encoding shall be used
whenever the data value length is less than 128
octets.
3.2.2 BER long-form length encoding
The following normative section (including example)
is quoted from ISO/IEC 8825-1:
8.1.3.5 In the long form, the length octets shall
consist of an initial octet and one or more sub-
sequent octets. The initial octet shall be encoded
as follows:
a) bit 8 shall be one;
b) bits 7 to 1 shall encode the number of sub-
sequent octets in the length octets, as an unsigned
binary integer with bit 7 as the most significant bit;
c) the value 11111111
2
shall not be used.
NOTE – This restriction is introduced for possible future
extensions.
Bits 8 to 1 of the first subsequent octet, followed by
bits 8 to 1 of the second subsequent octet, followed
in turn by bits 8 to 1 of each further octet up to and
including the last subsequent octet, shall be the en-
coding of an unsigned binary integer equal to the
number of octets in the value field, with bit 8 of the first
subsequent octet as the most significant bit.
NOTE – This is sometimes known as big-endian byte order.
SMPTE 336M-2001
Page 5 of 25 pages