The Key - Length-Value protocol ( KLV) (literally, key - length - contents Protocol ) defined in SMPTE 336M document, called a binary method to encode data into serial bit streams.
Each data attribute is assigned to it in a dictionary up to a 16 -byte key. Using the key data, the attribute value is encoded into a serial bit stream. The bit stream consists of the key (Key), the length of the content of the attribute to be encoded (Length ), and finally the contents of the attribute (value ). For decoding a binary data stream generated in this way, a dictionary is only necessary that contains the relevant key and the associated data types of the values. As data types such as Unicode strings, or the IEEE floating-point numbers are used. Find the decoder for a key of a KLV packet is no entry in the dictionary, so the appropriate package can be skipped with the help of the value in the length field and the decoding process to continue with the next KLV packet.
The KLV protocol is used among other things for the coding of MXF files.