UNLIMITED FREE ACCESS TO THE WORLD'S BEST IDEAS

close
Already an Engineering360 user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your Engineering360 Experience

close
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

SMPTE ST 336

Data Encoding Protocol Using Key-Length-Value

active, Most Current
Buy Now
Organization: SMPTE
Publication Date: 21 July 2017
Status: active
Page Count: 36
scope:

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.

Document History

SMPTE ST 336
July 21, 2017
Data Encoding Protocol Using Key-Length-Value
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...

References

Advertisement