Skip to main content

STANAG 4609 And KLV In TS

This page summarizes the STANAG 4609 transport context referenced by the original KlvInspector manual.

KLV in MPEG-TS

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 = 0xBD for private_stream_1
  • data_alignment_indicator = 1 when 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_descriptor with format identifier KLVA
  • metadata descriptors identify the metadata service
note

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 = 0xFC for 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, or KLVA

As with asynchronous carriage, the metadata stream should be configured so buffered delay stays within one second.