Mirror Fractal · Codec
MMXXVI v0.3.29
Codec live · Mirror Fractal Lab · Valencia · Global
Patent Pending · US 64/034,974
01 / Codec — Neuromorphic

Every event is signal.
Nothing is lost

A spatial codec for DVS / ATIS event streams. 47.6× mean compression at 1.51 bits/event, with a byte-for-byte round trip. One engine, shipped as a Python wheel and a browser WASM module — same bytes, edge to cloud.

First shipping product of the Mirror Fractal Method — a unified framework for hierarchical binary decomposition. Patent pending, eight inventions filed.

Paper · DOI 10.5281/zenodo.19704064

Bits / event 1.51 Mean across N-MNIST, lossless
Compression 47.6× From ~9 MB/s to ~150 KB/s
Encode latency 0.55ms Native, per 4 k event sample
Targets x86 · arm · wasm cp311 wheels; ~80 KB WASM
02 / Principle

The part already carries the whole

Event cameras emit sparse, redundant streams — neighbours share polarity, regions share trajectory, microseconds share spatial structure. MFC finds those local symmetries, encodes them once, and rebuilds the stream byte-for-byte. The compressed payload is the original, written more economically.

03 / Who runs it

Built for streams that cannot break

Neuromorphic sensors push millions of events per second. Raw throughput reaches 9 MB/s per camera — prohibitive for edge storage, wireless links, and multi-sensor rigs. MFC cuts it by 50–1000×, losslessly.

/ 01 — Mobility

Autonomous driving

Sub-millisecond latency for pedestrian and obstacle detection. Replace high-bandwidth CAN/Ethernet links with compressed streams.

/ 02 — Robotics

Event SLAM

Event-based localisation and mapping on limited onboard compute. MFC encode runs under 1 ms on standard ARM cores.

/ 03 — Industrial

Machine vision

Defect inspection at 10 000+ fps on conveyor lines. Stream compressed events to central servers for fleet-wide monitoring.

/ 04 — Security

Continuous recording

24/7 surveillance at a fraction of the storage cost. Lossless preserves every event for forensic review.

/ 05 — Science

High-speed imaging

Microsecond-resolution experiments in neuroscience, plasma physics, and optical metrology. Long captures without terabyte files.

/ 06 — Wearables

AR · XR tracking

Low-power eye and hand tracking on headsets. Reduce radio transmission energy — the dominant power cost.

04 / How it works

Four steps, one stream

MFC sits between the sensor and your existing pipeline. Drop-in encode at the edge, decode on the receiver — output is bit-exact.

  1. / 01 — Capture Stream events

    The sensor emits (x, y, t, p) tuples — roughly 9 bytes each, up to millions per second.

  2. / 02 — Encode Find symmetry

    Buffer a 5–10 ms window and call mfc.compress(). Output is a compact .mfx packet — ~150 KB/s instead of 9 MB/s.

  3. / 03 — Transport Send anything

    UDP, TCP, MQTT, 5G. Multi-camera rigs collapse onto a single uplink. Storage cost drops proportionally.

  4. / 04 — Restore Exact round-trip

    mfc.decompress() rebuilds the original event stream. Feeds directly into detectors, SLAM, or analytics.

Events MFC Encoder .mfx MFC Decoder Events
05 / Demo — Interactive

Drop a file, watch it compress

Same encoder as the SDK — runs entirely in your browser, no upload. Capped at 500 000 events per run for the WASM memory budget; the native build is ~8× faster on the same payload.

Loading WASM module…

Drop event-camera file here

.bin.aedat.h5.dat.evb.npy.csv

What the demo runs vs the full SDK

Identical to production

  • Same encoder — ratio and bits/event on any given input match the SDK
  • Bit-for-bit losslessness, verified round-trip on every run
  • Same .mfx container format and byte layout

Capped in the browser

  • Up to 500 000 events per encode (stride-sampled from longer windows)
  • Up to ~6 seconds of an HDF5 recording, read contiguously for dense playback
  • Sensor dimensions capped at 2048 × 2048
  • Single-threaded WASM — native build is ~8× faster on the same payload

Full-length streams, offline batch jobs, and real-time pipelines run on the native Rust / Python SDKs.

06 / Integration

Pick the surface, share the bytes

The same compressed payload travels through every binding. Encode in Python, decode in Rust; encode in WASM, decode on the server — same .mfx.

Python ML · research

Python wheel

mfc-codec on PyPI — cp311 wheels for Linux, macOS arm64, and Windows. Drops into PyTorch, NumPy, and Jupyter workflows.

# Install from PyPI
pip install mfc-codec

import mfc
events = mfc.load_events("sample.bin")
compressed, stats = mfc.compress(events, width=34, height=34)
WASM Web · Node · workers

Browser WASM

~80 KB WebAssembly module — the exact engine running on the demo above. Works in browsers, Node, Deno, Cloudflare Workers.

// JavaScript
import * as mfc from './pkg/mfc.js';
await mfc.default();

// auto-detects .bin / .aedat / .h5 / .npy / .csv
const out = mfc.compress_auto(bytes, filename);
Rust Edge · embedded

Native crate

No runtime dependencies — embedded Linux, RTOS, high-throughput servers. Private crate; not on crates.io. Available to licensees.

// Commercial — info@mirrorfractal.com
use mfc::{Event, compress};
let (bytes, stats) = compress(&events, w, h, time_bins, max_depth);
CLI Batch · pipelines

Standalone binary

mfc CLI for scripting, CI, and offline re-encoding of recorded datasets. Built from the private Rust source.

# Shell
mfc encode capture.bin -o capture.mfx
mfc decode capture.mfx -o restored.csv
mfc info   capture.mfx
mfc bench  ./dataset/
C · C++ FPGA · DSP · legacy

Shared library

libmfc.so / mfc.dylib / mfc.dll with a stable C ABI and header. Built on request as part of a commercial engagement.

// On request — info@mirrorfractal.com
// Stable C ABI; header ships with the engagement.
Service Cloud · microservices

gRPC · REST

Reference server wrapping the core for language-agnostic access. Delivered per engagement — endpoint surface and auth tailored.

# Per engagement — info@mirrorfractal.com
# Endpoints + auth shaped to the deployment.
07 / Container

The .mfx format

Self-describing binary format with versioned header and multi-frame support. All fields little-endian. Spec is stable and documented.

Offset Size Field Description
Header (15 bytes)
04magicMFX1
42versionformat version (u16)
62widthsensor width (u16)
82heightsensor height (u16)
102time_binstemporal resolution (u16)
121levelcodec parameter (u8)
132n_framesnumber of frames (u16)
Per frame (× n_frames)
4n_unitspayload length marker (u32)
4data_lenpayload bytes (u32)
vardatacompressed payload (opaque)
08 / Benchmark

N-MNIST — full set, 60 000 samples

Lossless on every digit, every sample. Encode times measured native on a single thread; the browser demo runs the same encoder at ~8× the latency due to WASM single-threading.

Digit Samples Avg events Ratio Bits / event Encode
05,9235,44453.4×1.350.65 ms
16,7422,43236.6×1.970.42 ms
25,9584,70850.3×1.430.58 ms
36,1314,70350.4×1.430.58 ms
45,8423,79444.4×1.620.54 ms
55,4214,37248.7×1.480.56 ms
65,9184,21547.7×1.510.55 ms
76,2653,68745.2×1.590.52 ms
85,8514,70250.0×1.440.58 ms
95,9493,92746.1×1.560.52 ms
Total 60,000 4,172 47.6× 1.51 0.55 ms
09 / Install

pip install mfc-codec

Pre-built cp311 wheels for Linux (manylinux_2_34), macOS (arm64), and Windows (amd64). Drops into PyTorch, NumPy, and Jupyter workflows.

# Linux x86_64 · macOS arm64 · Windows x86_64
pip install mfc-codec

# Python
import mfc
events = mfc.load_events("sample.bin")
compressed, stats = mfc.compress(
    events, width=34, height=34,
    time_bins=16, max_depth=8,
)

“Lossless is not a luxury — it is the only signal you can trust when the prediction is wrong”

— Mirror Fractal Lab · Codec note · MMXXVI

10 / Licensing — Talk to the lab

MFC is proprietary technology, patent pending. Available for evaluation and commercial licensing to qualified partners.

  • Evaluation builds — pre-compiled binaries for your target platform, 30-day trial
  • Source access — private git repository under NDA for integration work
  • Custom integration — engineering support to embed MFC into your stack
  • Benchmark on your data — send a sample recording and receive metrics
info@mirrorfractal.com Include your sensor model, data rate, and intended use case.
Try demo