RIPT is the core of the Bitruvius Imagery & 3D Suite: adopt a Bitruvius flagship codec for the largest structural wins.
Explore the SuiteElevation, 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.
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.
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.
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.
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.
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.
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.
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.
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.
- +70% over LERC
- +27% over the best LERC setting
- +71% over LZ4
- +27% over LERC
- +16% over the best LERC setting
- +49% over LZ4 and Zstd -3
- +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.
Solid bar = median across the matched corpus.Peak column shows max across samples.
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.
LiDAR Elevation (DEM, F32). Solid line: median across 3672 measurements. Dashed: peak.
By data type
What it means for the files you have.
Elevation (DEM)
“Choose the error you can live with, and the archive shrinks to match.”
Basemap terrain
“Smoothed, quantized terrain collapses to almost nothing, losslessly.”
Multispectral
“Band after band of correlated signal is exactly what per-tile prediction is for.”
Complex SAR
“Speckle defeats prediction, so RIPT stops predicting and still keeps pipeline speed.”
SAR video
“Where fast codecs hand back the input size, RIPT still takes bytes off.”
SAR quicklook
“Millions of previews, each a little smaller, at encode speeds a pipeline can afford.”
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.
Same strategy everywhere.
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.
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.
Image broken into cache-friendly tiles. Sizes from 4×4 up through 32×32, tuned to the data.
A library of predictors compete: each predicts pixel values and measures residual errors. 13 ship today.
Winner = smallest encoded byte cost. Different tile, different winner.
Residuals undergo zigzag encoding, then bit-packing at minimum bit-width.
Optional ByteShuffle / BitShuffle pre-compression transforms.
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
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.