ISR standardsImplementation status: BidirectionalInput supportedOutput supported

STANAG 4609: the KLV metadata, and not the motion imagery

STANAG 4609 is the NATO digital motion imagery standard. What the open integration layer implements is its metadata stream: the UAS Datalink Local Set, carried as key length value packets alongside the video. The imagery itself is neither decoded nor produced, and this page states that first because the standard's name invites the opposite assumption.

About the standard

What STANAG 4609 is

STANAG 4609 promulgates a profile rather than a self-contained format. The profile delegates its field dictionaries to documents published by other bodies, chiefly the Motion Imagery Standards Board, so implementing it means implementing those documents and saying which ones.

The metadata a full motion video stream carries is the part that makes the imagery usable as intelligence: a precision time stamp, platform position and attitude, sensor pointing, frame centre coordinates, target locations and, where present, moving target indications detected within the frame.

The item dictionary in question defines 141 items. Any conformant reader is required to skip items it does not know without failing the packet, which is what makes a partial but honest implementation a valid one.

Operational relevance

Why this matters to a commander

Motion imagery arrives at a command post as pictures, and pictures are not decision inputs until something states where the aircraft was, where the sensor was pointing and when.

Translating the metadata into the same canonical objects as radar, ADS-B and ground moving target reports lets an imagery derived observation be correlated with the rest of the picture without the imagery leaving its own pipeline.

Because the metadata is small and the video is not, a deployment can carry the decision relevant part of a full motion video feed across a link that could never carry the feed itself.

What is implemented

The exact behaviour, not a capability claim

Ingest takes one key length value metadata payload, being one or more Local Set packets, and produces an Entity and an Event per packet in wire order. The Entity is the platform.

The implemented item set is the set this repository has met on a pinned wire capture, plus a nested set item and the items demonstrated by the source document's own printed worked examples. That is 44 of the dictionary's 141 items, and every remaining row is recorded as not yet implemented in the published coverage document rather than left unstated.

An item outside the implemented set is not an error. Its octets are parked under an unknown items attribute and its tag number recorded, and the packet still translates, as the standard requires.

Nothing in the witnessed item set identifies an airframe, so the platform identifier is packet scoped and says so. Consecutive packets from one aircraft therefore receive different identifiers, and the cost is stated rather than hidden behind a fabricated continuity.

The precision time stamp is not UTC. The source document defines it against a time system based on the SI second with a fixed offset from atomic time, and the adapter applies the correction and leap second terms only when the packet carries them, recording which terms were available on every object.

This is the first binary format in the layer with a real integrity gate: the Local Set defines a mandatory checksum. A packet whose checksum fails is translated and flagged rather than refused, because discarding two dozen otherwise well formed items on a 16-bit disagreement destroys the evidence a consumer needs.

Egress reproduces a payload byte exactly for objects that came from this adapter, including the original octets of any item whose length diverged from the dictionary.

  • 01
    Direction in
    One KLV metadata payload of one or more UAS Datalink Local Set packets to an Entity and an Event per packet.
  • 02
    Direction out
    Objects that came from this adapter to one byte exact payload, preserving length divergent items verbatim.
  • 03
    Item coverage
    44 of the 141 dictionary items are read. Unread tags are parked verbatim and the packet still translates.
  • 04
    Motion imagery
    Out of scope entirely. No video codec, no transport stream demultiplexer, no imagery is read or written.
  • 05
    Integrity gate
    The mandatory Local Set checksum, verified per packet. A failure is flagged on the object, not used to discard it.
Direction of exchange

Which way the data actually moves

Into the canonical model

  1. KLV metadata payload
    UAS Datalink Local Set packets extracted from a stream by the caller.
  2. Entity and Event
    One pair per packet, with the time basis and checksum verdict recorded.

Out of the canonical model

  1. Canonical objects from this adapter
    Only objects this adapter produced.
  2. KLV metadata payload
    Byte exact reconstruction including divergent item octets.
Workflows

Where this data is used

Imagery derived observations in the common picture

Platform position, sensor pointing and target locations become canonical objects that the ISR Fusion Agent can correlate with radar and ground moving target reports, while the video stays in the imagery chain.

Low bandwidth situational awareness

Where a link cannot carry full motion video, the metadata alone still states where the aircraft is and what it is looking at.

Provenance for an imagery based recommendation

Every object records which time terms were available and whether the packet checksum validated, so an assurance record can show the quality of the metadata behind a recommendation.

Implementation evidence

Every claim above has a file behind it

These paths are in the public repository, published under Apache 2.0. The adapter module for this page is stanag4609.

Source and fixtures

  • Adapter source
    packages/cdm/synapse_cdm/adapters/stanag4609.py

    Both directions, the implemented item set rule and the time system treatment, argued in place.

  • Fixtures
    packages/cdm/synapse_cdm/fixtures/klv/

    Pinned stream, per-case packets and parsed twins, including checksum failure, zero length item and identifier edge cases.

  • Field by field coverage
    packages/cdm/synapse_cdm/FORMAT_COVERAGE.md

    The STANAG 4609 row set, including every unimplemented item and the reason it is unimplemented.

Test evidence

  • Harness test
    tests/test_cdm_stanag4609_adapter.py

    Replayed by the validation harness shipped in the same package, which runs six checks per fixture including a never-drop lossless check.

  • Framing test
    tests/test_cdm_klv_framing.py

    Exercises key length value framing, including unknown tag skipping and length divergence.

Manifest-backed assurance

Maturity is declared in each generated adapter manifest and checked against suite eligibility. VERIFIED is a separate claim-status axis. Neither means external certification or integration with a named system.

  • stanag4609
    Maturity L4Claim VERIFIED
What these maturity levels mean

L3 means required provenance survives translation. L4 adds applicable roundtrip evidence. L5 would require every applicable public conformance gate to pass. L6 requires an independent real implementation or system and cannot be awarded from this repository's synthetic fixtures.

Status and limits

What is claimed, and what is not

Implementation status: Bidirectional

The published adapter implements both translation directions: the format into the canonical data model, and the canonical data model back out to the format. Both directions are replayed by the validation harness against shipped fixtures.

Last reviewed against the published implementation on 2026-09-06.

Limitations

  • No motion imagery is decoded, produced, transported or stored. Extracting the metadata from a transport stream is the caller's job.
  • 97 of the dictionary's 141 items are not implemented, and each is listed as such in the published coverage document.
  • Platform identity is packet scoped, so this adapter alone cannot express the continuity a real feed has.
  • Leap second and correction terms are applied only when the packet carries them. No external leap second table is consulted.
  • Frame centre and target location items are carried side by side and never reconciled with one another.

Security boundary

  • Only the translation contract is published. No imagery, no mission data and no platform configuration appear in the repository.
  • The pinned wire capture used to establish the implemented item set is carried in the repository as a fixture and is not operational material.

Public sources

Statements about what SynapseCommand® implements are drawn from the published repository rather than from these external sources.

Questions

Frequently asked

Does SynapseCommand support STANAG 4609 video?
No. What is implemented is the UAS Datalink Local Set metadata that accompanies a STANAG 4609 stream. No video is decoded, produced or transported by the published layer, and no claim to the contrary is made anywhere on this site.
How many metadata items are implemented?
44 of the 141 items in the pinned dictionary. The set is limited to items met on a pinned wire capture plus those demonstrated by the source document's own worked examples, because an item never met on a wire could only be checked against a fixture written from the same reading of the same table.
What happens to an item the adapter does not implement?
Its octets are parked verbatim and its tag recorded, and the packet translates. The standard requires a decoder to skip unknown Local Set items without affecting the ones it does know.