STANAG 4609 And KLV In TS
This page summarizes the STANAG 4609 transport context referenced by the original KlvInspector manual.

Figure: Video and metadata carried together in an MPEG-2 transport stream.
KLV is the metadata encoding format recommended by MISB for motion-imagery systems. In STANAG 4609 workflows, the transport stream carries compressed video, optional audio, and one or more metadata elementary streams.
Anatomy Of A STANAG 4609 Stream
A transport stream is composed of multiple elementary streams, each identified by a PID. Video and audio are packetized into PES streams and then stored in 188-byte transport packets, alongside service-information tables and metadata streams.
Asynchronous Metadata Carriage
Asynchronous carriage is defined in SMPTE RP 217. In this mode:
- metadata PES packets do not use PTS
- metadata access units do not use access-unit wrappers
- metadata relevance is inferred primarily by proximity to video
Asynchronous PES Requirements
stream_id = 0xBDforprivate_stream_1data_alignment_indicator = 1when the PES packet starts a KLV item- metadata buffer delay should remain under one second
Asynchronous PMT Requirements
stream_type = 0x06- metadata is declared as a separate stream in the same program
- legacy RP 217 compatibility uses
registration_descriptorwith format identifierKLVA - metadata descriptors identify the metadata service
Later specifications prefer the metadata descriptor because it carries more information than the registration descriptor alone.
Synchronous Metadata Carriage
MISB 0604 specifies a synchronous transport method based on ISO/IEC 13818-1 metadata PES carriage. In this mode, metadata is synchronized to video through the PES Presentation Time Stamp.
Synchronous PES Requirements
stream_id = 0xFCfor metadata stream- each metadata PES packet carries PTS
- the first PES data byte begins a Metadata Access Unit Cell
- the PTS defines when the metadata becomes relevant
- DTS is not used
Synchronous PMT Requirements
stream_type = 0x15- metadata is declared as a separate stream in the same program
- each metadata service is described by a metadata descriptor
- metadata format identifier is
0x4B4C5641, orKLVA
As with asynchronous carriage, the metadata stream should be configured so buffered delay stays within one second.