SMPTE ST 336
Data Encoding Protocol Using Key-Length-Value
|Publication Date:||21 July 2017|
This standard defines a byte-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 or data groups 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 point 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 Defined Length Packs). The standard provides a definition of each of these data constructs.
The standard also describes implications of KLV coding including the use of a SMPTE Universal Label as a value within a KLV coding triplet or whose meaning is entirely conveyed by the SMPTE UL itself. The two kinds of usage for such standalone SMPTE Universal Labels are a) as a value in a K L V construct and b) as a Key that has no Length and no Value. This standard defines where SMPTE ULs can be used for each kind of construct.
The standard also defines the use of KLV coding to provide a means to carry information that is registered with a non-SMPTE external agency.
The encoding byte range (length of the payload) specified in this document can accommodate unusually large volumes of data. Consequently, a specific application of KLV encoding might require only a limited operating data range and those details be defined in a relevant application document.
This revision is intended to yield identical encodings to previous revisions of ST 336 given identical dictionaries.
Section 4 provides a glossary of terms used in this standard.