RIPT is the core of the Bitruvius Imagery & 3D Suite: adopt a Bitruvius flagship codec for the largest structural wins.

Explore the Suite
RIPT Coming Soon Patent Pending

Elevation, 87× smaller. Every point within 1 m.

RIPT (Raster Image Predictive Tiling) is a new codec for the grids of measurements behind maps and science: elevation, radar, multispectral and classification rasters. It picks the best strategy for every tile of every image, so each region is stored the way its data wants.

Lossless when every value must come back exactly. Lossy to the error you choose, and not a millimetre more.

87×
smaller elevation, every point within 1 m
Median on lidar elevation models. Peak 209× on bare-earth DEM.
20.6×
smaller lidar classification, lossless
Median across the corpus. Every value back exactly.
2.3 GB/s
decode, top median
Multispectral, 256×256 tiles, single-threaded, AVX2.
5,958×
smaller basemap terrain, lossless
Median on Pacific seafloor. Mt Everest terrain 1,520×.

Medians across the matched corpus. Peaks are footnoted, not headlined.

The 60-second version

Every image is a grid of numbers. Most of them are predictable.

The data

Grids of measurements

Heights, radar returns, spectral bands, land-cover classes. Not pictures for eyes, but values that analytics and models read, so every one of them matters.

The bill

Storage and transfer

Archives grow by terabytes a day and are kept for years. Every byte is paid for at rest, again every time it crosses the network, and again in the time it takes to arrive.

The waste

One strategy everywhere

Most codecs pick one way to predict pixels and apply it to the whole image: the ocean, the city, the radar speckle. Wherever it fits badly, bytes are wasted.

The fix

RIPT picks per tile

Each tile gets the strategy that fits it, and where nothing can predict the data, RIPT stops trying. It is a new, patent-pending codec: files are RIPT files.

Watch it

Race it yourself, in this tab.

RIPT decodes scientific rasters head-to-head against TurboLERC and the Esri LERC reference, live in your browser, no install. Pick a raster type and press start.

Scientific Codec Race: RIPT vs LERC · live in your browser open full screen ↗
loading demo…

What it means for the bill

Smaller archives. Lighter transfers.

Compression is storage you don't buy and bandwidth you don't pay for. Here are the medians, translated.

11.5 TB
for a 1 PB elevation archive
Every point within 1 m of the original.
95%
less storage for lidar classification
Lossless. Every class value back exactly.
53%
less to send, lossless elevation
Every tile smaller on the wire, and decoded at 1.6 GB/s.

Illustrative, from the measured medians. Your data sets your number; a pilot measures it.

Every data type

Absolute compression. Per data type.

The compression RIPT actually delivers, and how fast it gives the data back. Classification rasters and multispectral imagery push past 6× lossless. Noisy radar is the floor, and RIPT recognises it and adapts.

Lossless compression ratio (median per data type)
0.0×5.0×10.0×15.0×20.0×Lidar Classification20.6×Multispectral6.4×Lidar Intensity2.3×Lidar Point Stats2.2×LiDAR DEM2.1×SAR Sub-Aperture1.9×LiDAR DSM1.8×LiDAR nDSM1.5×SAR Video1.5×SAR Quicklook1.5×Terrain Aspect1.2×peak26.8×13,797×3.4×4.1×2.5×2.0×2.0×2.7×1.5×1.8×1.7×

Solid bar = median across the matched corpus.Faded bar = 90th percentile (clipped to chart bounds when extreme outliers stretch beyond).Peak column shows max across samples.

Synthetic Aperture Radar

The floor in the chart above, and the one worth explaining. Three ICEYE SLEDP products: a colour sub-aperture image, where three sub-apertures are mapped to RGB; a 25-band video-SAR stack; and an 8-bit quicklook. Speckle defeats spatial prediction, so this is the data where every codec struggles and the field splits in two. The codecs that match RIPT on ratio are archival settings encoding at 1 to 2 MB/s. The codecs that are fast return almost nothing. RIPT recognises the regime and stops paying for prediction that will not pay back. A prediction-only codec has no such option.

Sub-Aperture
u16 · 3 sub-apertures as RGB
1.88×
272 MB/s encode
  • +70% over LERC
  • +27% over the best LERC setting
  • +71% over LZ4
Video-SAR
u16, 25-band
1.49×
163 MB/s encode
  • +27% over LERC
  • +16% over the best LERC setting
  • +49% over LZ4 and Zstd -3
Quicklook
u8, 1-band
1.49×
300 MB/s encode
  • +4% over every LERC variant
  • +9% over HTJ2K
  • +49% over LZ4 and Zstd -3

Only one codec in the field compresses better, and only just: Brotli at quality 11, by 0.2% on the sub-aperture product, 1.8% on video-SAR and 3% on quicklook. It encodes at 1 to 2 MB/s. That is the entire trade, and it is not one an operational pipeline can make: RIPT holds that ratio at 130 to 165 times the encode speed and decodes 1.6 to 2.4 times faster. On the sub-aperture product it is a tie either way, and at smaller tiles RIPT passes it outright.

Nothing else is close. Zstd at level 19 gives up 5 to 15% and encodes at 2 to 12 MB/s. HTJ2K gives up 9 to 39%. PNG and Deflate sit lower still. And the codecs fast enough to sit in a pipeline do not compete at all: on quicklook and video-SAR, LZ4 and Zstd at level -3 hand back a file the same size as the raw input, 1.00× against uncompressed, no saving of any kind. RIPT takes a third of the bytes off the same data.

Lossless, median across 16 / 17 / 16 samples. Competitors benchmarked on the same corpus, each at its own best setting.

Quantized basemap terrain. Smoothed, meter-quantized basemap DEMs (Mt Everest, Pacific seafloor) are far lower entropy than raw lidar, so RIPT collapses them orders of magnitude further, shown separately on their own scale.

Lossless compression ratio: basemap terrain
0×1,000×2,000×3,000×4,000×5,000×6,000×7,000×Pacific bathymetry5,958×Mt Everest terrain1,520×peak5,958×2,149×

Solid bar = median across the matched corpus.Peak column shows max across samples.

Lossless decode throughput: basemap terrain (MB/s)
0 MB/s5.0 GB/s10.0 GB/s15.0 GB/sPacific bathymetry16.1 GB/sMt Everest terrain14.4 GB/speak18.6 GB/s17.8 GB/s

Solid bar = median across the matched corpus.Peak column shows max across samples.

Lossy, on your terms

Pick a tolerance. Pick a payoff.

Every value decodes within the tolerance you specify. The tolerance doubles as a compression dial: at 1 m vertical error on elevation, RIPT delivers 87× median, 200×+ peak.

Lossy compression: error tolerance vs ratio
1×10×100×1,000×0.010.11Max error tolerance (log scale)Compression ratio (log scale)5.2×14.9×86.8×

LiDAR Elevation (DEM, F32). Solid line: median across 3672 measurements. Dashed: peak.

By data type

What it means for the files you have.

Mapping agencies, flood and terrain analytics

Elevation (DEM)

“Choose the error you can live with, and the archive shrinks to match.”

Lossless 2.14× 1 m lossy 87×
Basemap and web-map providers

Basemap terrain

“Smoothed, quantized terrain collapses to almost nothing, losslessly.”

Lossless 5,958× Decode 16.1 GB/s
Satellite imagery providers

Multispectral

“Band after band of correlated signal is exactly what per-tile prediction is for.”

Lossless 6.43× Decode 2.3 GB/s
Radar satellite operators

Complex SAR

“Speckle defeats prediction, so RIPT stops predicting and still keeps pipeline speed.”

Lossless 1.88× Encode 272 MB/s
Persistent monitoring and video SAR

SAR video

“Where fast codecs hand back the input size, RIPT still takes bytes off.”

Lossless 1.49× Encode 163 MB/s
Catalogue and tasking portals

SAR quicklook

“Millions of previews, each a little smaller, at encode speeds a pipeline can afford.”

Lossless 1.49× Encode 300 MB/s

Chips: medians for that data type.

How it wins

Every tile. Its own predictor.

Consider a satellite image of a coastline. The ocean is smooth, so a simple predictor works best. The beach is a gradient that a first-order predictor captures naturally. The city has sharp edges where a multi-neighbor predictor excels. The harbor has SAR speckle noise where prediction actually hurts, so the codec should bypass it entirely.

Most codecs pick one strategy and apply it everywhere. RIPT picks per region.

Traditional codec
One predictor applied to the entire image

Same strategy everywhere.

RIPT
Best predictor chosen independently per tile

Each region gets the predictor that fits.

Different data, different predictor.

This isn't a marketing claim. It's the empirical mix of predictors RIPT's auto-selector picked across thousands of test tiles. Classification data overwhelmingly wants Left. Elevation wants Quadratic and Planar. SAR Video is monolithic, so Up wins everywhere.

How RIPT picks predictors per domain
Quadratic Planar Average Gradient Paeth Med NearFlat Up Left Arp
47%41%LiDAR DEM41%29%12%12%LiDAR DSM59%18%12%12%Terrain Aspect82%12%Lidar Classification82%18%Lidar Intensity53%35%LiDAR nDSM

Each row sums to 100% of samples in that domain. The mix is the data's, not the choice of any single predictor.

Six steps, one tile at a time.

01
Divide

Image broken into cache-friendly tiles. Sizes from 4×4 up through 32×32, tuned to the data.

02
Evaluate

A library of predictors compete: each predicts pixel values and measures residual errors. 13 ship today.

03
Select

Winner = smallest encoded byte cost. Different tile, different winner.

04
Encode

Residuals undergo zigzag encoding, then bit-packing at minimum bit-width.

05
Filter

Optional ByteShuffle / BitShuffle pre-compression transforms.

06
Compress

Entropy coder (Zstd / LZ4) squeezes remaining redundancy.

For high-entropy data like SAR radar, where no predictor can pay for itself, RIPT recognises the regime and adapts its pipeline to it.

Novel IP

Four algorithms with zero prior art.

ARP

Anchor-Residual Predictor

Recursive pairwise decomposition that concentrates energy into progressively smaller sets. O(N) complexity, vector-friendly.

NearFlat

Sparse Outlier Encoding

63 identical pixels and 1 outlier? Encodes the tile in 8 bytes instead of 64+. Used heavily on classification rasters and SAR magnitude.

Quadratic

Second-Order Polynomial

Captures surface curvature in rolling hills, river valleys, and thermal gradients that first-order predictors model only as flat planes. Wins ~47% of elevation tiles.

Sqrt

Variance-Stabilizing Transform

Converts multiplicative SAR speckle noise to additive noise. Makes the unpredictable predictable. Exactly invertible with zero information loss.

Runs everywhere

SIMD-first. Bit-exact everywhere.

Every predictor is defined once and mapped to the widest vector unit available at runtime. A 256-bit AVX2 register processes 8 pixels in parallel, and SVE2 hardware gets scalable-vector dispatch the moment its benchmarks land.

Platform matrix

NEON
ARM64
128-bit
AVX2
x86_64
256-bit
WASM SIMD
browser
128-bit
In-browser decode at 60–107% of native AVX2 speed
AVX-512 Q1 2027
x86_64
512-bit
Sapphire Rapids / Genoa / Zen 4+, benchmarks Q1 2027
SVE2 Q1 2027
ARM64
scalable
Graviton4 / Grace / Cobalt 100, benchmarks Q1 2027
Scalar
Any
fallback

All backends produce bit-exact identical output. Auto-detection at runtime; portable scalar fallback for any CPU.

Applications

Every industry that stores grids of numbers.

Satellite Operators

Constellations capturing 30+ TB/day. Petabyte-scale archives. Tighter compression compounds across years of storage.

Aerial & Drone

$1.3B market. Unlocks 16-bit delivery from sensors capturing at 12-14 bit.

Medical Imaging

$4.2B PACS market. Tile-based decode replaces single-threaded gzip; faster pull on every viewer.

AI/ML Foundation Models

Native uint4/int4/bf16 support. NCHW/NHWC layout helpers for PyTorch & TensorFlow.

Government & Defense

NASA: 245+ PB. NISAR: 80 TB/day from a single SAR instrument.

GIS & Cloud Platforms

Smaller tiles mean lower egress and faster map loads.

How this was measured

  • RIPT with automatic predictor selection and Zstd entropy coding, 256-pixel tiles, lossless unless stated. Each figure is the median across the samples of that data type (11 data types, 181 samples).
  • Lossy figures are lidar elevation models (32-bit float) at tolerances of 0.01 to 1 m; every decoded value is within the tolerance.
  • Competitors on the SAR card were benchmarked on the same corpus, each at its own best setting.
  • Licensed third-party samples are excluded.
  • The live race decodes in your browser against Esri's published WebAssembly build, so its numbers are yours, not ours.

Bring five of your rasters.

Early-access partners run RIPT on their own data before general release. You see the size and the speed on your files, and you keep the numbers.

RIPT is licensed through the Bitruvius Developer Hub and ships as compiled binaries only, which keeps the patent-pending techniques out of source.

Esri, ArcGIS, and LERC are trademarks of Environmental Systems Research Institute, Inc., used here solely to identify the products and formats being compared; no affiliation, sponsorship, or endorsement is implied. LERC is published by Esri under the Apache 2.0 license, and the live demo runs Esri's unmodified reference decoder under that license. ICEYE is a trademark of ICEYE Oy and identifies the sample products measured; no affiliation, sponsorship, endorsement or customer relationship is implied. RIPT, TurboZstd, and TurboLZ4 are independent Bitruvius implementations. Performance comparisons reflect our own measurements under the stated methodology; results vary by workload and hardware. Full third-party notices: Attributions.