Skip to main content

STANAG 4609 And KLV In TS

The MPEG-2 transport stream provides a container for carriage of video, audio, and metadata in a single motion-imagery stream.

KLV in TS

Figure: Legacy diagram showing video and KLV carriage inside a transport stream.

KLV, or Key-Length-Value, is the metadata encoding standard recommended by MISB for motion-imagery streams. MISB 0601 defines the UAS datalink metadata set that is commonly carried in STANAG 4609 content.

Anatomy Of A STANAG 4609 Stream

A STANAG 4609 stream is transmitted as MPEG-2 transport-stream data. The transport stream contains elementary streams for video, optional audio, and encapsulated metadata.

Each elementary stream has a packet identifier, or PID, that uniquely identifies that stream within the transport stream. Video and audio elementary streams are packetized into PES packets, then stored in transport packets of 188 bytes. Additional service-information tables describe the internal structure of the stream.

Asynchronous Carriage Of Metadata

Asynchronous KLV transport over MPEG-2 transport streams is defined in SMPTE RP 217.

  • The metadata PES stream uses stream_id = 0xBD, indicating private_stream_1.
  • data_alignment_indicator is set to 1 when the PES packet contains the beginning of a KLV item.
  • The metadata stream is defined in the PMT as a separate stream in the same program as the video stream.
  • For legacy RP 217 compliance, the PMT contains a registration_descriptor with format identifier 0x4B4C5641, which corresponds to KLVA.
  • The metadata stream includes a metadata_descriptor and a single metadata_std_descriptor.

In this model, metadata is typically associated with video by proximity rather than by matching presentation timestamps.

Synchronous Carriage Of Metadata

MISB 0604 specifies synchronous metadata transport using the PES metadata mechanism from ISO/IEC 13818-1.

  • The metadata PES stream uses stream_id = 0xFC, indicating a metadata stream.
  • Each PES packet carries a PTS used to synchronize metadata with video.
  • If a video frame and a metadata access unit have the same PTS, they were sampled at the same time.
  • Metadata is defined as a separate stream in the PMT, with stream_type = 0x15.
  • The metadata format identifier remains 0x4B4C5641, or KLVA.

As in the asynchronous case, the stream includes a metadata_descriptor and a metadata_std_descriptor, and the system target decoder delay should stay within one second.