IEC 62261-2-2005 pdf – Television METADATA – Part 2: Data encoding protocol using key-length-value.
1 Scope This part of IEC 62261 defines an octet-level data encoding protocol for representing data items and data groups. This protocol defines a data structure which is independent of the application or transportation method used. The standard defines a key-length-value (KLV) triplet as a data interchange protocol for data items where the key identifies the data, the length specifies the length of the data, and the value is the data itself. The KLV protocol provides a common interchange for all compliant applications irrespective of the method of implementation or transport. The standard also provides methods for combining associated KLV triplets in data sets where the set of KLV triplets is itself coded with KLV data coding protocol. Such sets can be coded in either full form (universal sets) or in one of four increasingly bit-efficient forms (global sets, local sets, variable-length packs, and fixed-length packs). The standard provides a definition of each of these data constructs. The encoding octet range (length of the payload) specified in this standard may generate unusually large volumes of data. Consequently, a specific application of KLV encoding is capable of only a limited operating data range and those details shall be defined in a relevant application document. Of necessity, keys and other reference data have to be globally unique if clashes are to be avoided. The IEC will therefore, from time to time, designate other bodies to act as its registration authority and agent in this respect; it is important to note that, as a result of this, registrations will always contain the designator of the registration authority acting at the time of registration and not that of the IEC (unless the IEC was acting directly as its own registration authority). A mixture of registration authority designators is therefore to be expected.
3.2 ANSI/SMPTE 298M universal label key 3.2.1 General KLV coding protocol shall use a 16-word universal label (UL) generated according to ANSI/SMPTE 298M as the UL key to identify the data in the value field but with the appropriate registration authority’s 4-octet prefix following the OID tag and length byte. Each word in the ANSI/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, 8.19. Each word of the UL key shall be limited to the range 0x00 to 0x7F and shall be represented by a single octet. The UL key shall have left-to-right significance with the first octet as the most significant. The leftmost octet of value 0x00 in the UL key shall define the termination of the label and all octets of lower significance shall also be set to 0x00. Octets of value 0x00 shall have no significance to the meaning of the UL key. The full UL key consists of a 16-octet field including an object ID (OID) and the UL size (0x0E indicating a total UL key size of 16 octets) followed by a UL code and a series of sub- identifiers which shall define the UL designators. The first two UL designators shall have reserved values for the KLV coding protocol according to this standard.
NOTE The ANSI/SMPTE UL itself adopts KLV coding with the object ID as the key, the UL size as the length, and the UL designators as the value. When applying the ANSI/SMPTE UL to the coding of data according to this standard, these fields shall be categorized as the UL header, UL designators, and item descriptor as shown in Table 2. Annex B shows an informative example of a metadata UL key in tabular and figure formats. Note that decoders which recognize the UL key but do not want to, or cannot, decode the associated value, may ignore the item and shall continue the decoding process of subsequent items using the length value to skip the value of the undecoded item. If decoders only store or forward the item, they shall forward the item unaltered. 3.2.2 UL designators Table 3 defines octet values for the designators to be used in octets 5 through 7 of the UL designators. Standards and recommended practices which define a UL key with the value of octet 5 (registry category designator) in the range 0x01 to 0x04 shall register the full UL key or keys used with the IEC’s designated registration authority in the registry identified by octets 6 and 7 (registry designator and structure designator).