Earth-observation satellites photograph vastly more than their radios can send home — roughly 2 percent of what they capture reaches the ground — and the obvious fix of downloading only what changed since last time fails for a mundane reason, which is that a single satellite's most recent cloud-free view of a place averages 51 days old; Earth+ (Chicago and Microsoft) notices the constellation as a whole has a four-day-old view, and ships it back up to the satellite over an uplink nobody was using.
The argument in one glance
-
Problem
Satellites photograph far more than their radios can send home
A constellation of low-orbit imaging satellites can revisit any point on Earth daily, which is what precision agriculture and wildfire monitoring want. But the radio link only works during the minutes a satellite passes over a ground station, and one estimate puts the share of captured imagery that actually reaches the ground at about 2 percent. Cameras are also getting sharper and capturing more spectral bands, while the link is not.
-
What people did
Decide on board what is worth sending
The deployed answer is to filter. A mission watching forests keeps forest imagery and discards the rest; a mission watching polar ice keeps ice. For a satellite bought to do one job this works well and is the reason those missions are feasible at all.
-
Why it fell short
Filtering throws away what somebody else needed
One forest-monitoring mission discards imagery of roughly 91 percent of the planet, including cities and farmland that other applications want. General-purpose constellations exist precisely to serve many customers, so they cannot pick a mission and discard the rest. Adding hardware is no answer either, at tens of millions of dollars and years per satellite.
-
This paper's idea
Send only what changed — but get a recent photograph first
The ground changes slowly, so comparing a new image against a recent one of the same place and sending only the differing parts should save most of the traffic. Without clouds, only about a fifth of a scene changes in five days. The catch is that a satellite own most recent cloud-free view of a place averages 51 days old, by which point most of the scene reads as changed and the whole idea stops paying.
Why this problem is worth solving
The constraint is physical and stubborn in a way software constraints usually are not. The radio channel from a satellite to a ground station, available only during the few minutes each orbit when the satellite is overhead. It is the binding limit on how much Earth observation actually reaches anyone, with one study putting the fraction of captured imagery that gets downloaded at around 2 percent. Building more capacity means launching more satellites or building more ground stations, both of which cost tens of millions of dollars and take years, while the demand grows every time someone wants finer resolution or another spectral band.
The technique everyone reaches for depends on something nobody had supplied. Compressing an image by comparing it against an earlier picture of the same subject and transmitting only the parts that differ. It is how video codecs work, and it suits satellite imagery because terrain changes slowly. The whole benefit rests on the reference being recent — this paper measures the fraction of a scene reading as changed tripling as the reference ages from ten days to fifty — so the practical question is not how to compare images but where a fresh one comes from.
What people did before, and where it broke
- Launch more satellites and build more ground stations. The direct approach to a capacity shortage. Where it broke. Tens of millions of dollars and years per satellite, against demand that grows every time resolution improves or a band is added. The gap is expected to widen, not close.
- Filter on board and send only what the mission cares about. How mission-specific constellations cope, and it works for them. Where it broke. A forest-monitoring mission discards imagery of roughly 91 percent of the planet, including exactly the cities and farmland other customers want. General-purpose constellations exist to serve many applications and cannot make that trade.
- Run the application in orbit and send the answer instead of the picture. Attractive, since a wildfire alert is a few bytes. Where it broke. On-board compute is limited, so only some applications fit — and downloading the imagery lets every application, including ones nobody has written yet, analyse it later.
- Use inter-satellite links to route imagery to whichever satellite reaches a ground station first. A real technique that cuts delivery latency substantially. Where it broke. It does not increase the constellation’s total downlink capacity or reduce how much data needs to come down, so the bottleneck is untouched.
- Compress each image better with tuned codecs or learned autoencoders. A substantial literature. Where it broke. Every one of these compresses a single image from a single satellite, so none exploits the enormous redundancy between successive pictures of the same unchanging ground.
- Compare against a stored reference image and send only the changes. Existing work does exactly this on board. Where it broke. The reference is fixed at launch or capture and only gets older. Even choosing freely from a satellite’s own history, the most recent view with under 1 percent cloud averages 51 days old — because a single satellite revisits every 10 to 15 days and two thirds of Earth is under cloud at any moment.
How Earth+ gets a fresh reference
From a captured scene to a few changed tiles on the ground
-
-
new
-
new
-
new
-
new
-
new
The idea
The obstacle to sending only what changed was never the algorithm — it was the supply of recent photographs. Reference-based encoding is a well-understood technique and prior work had already applied it in orbit, so the interesting question is why it underperforms there. The measurements answer it precisely. Without cloud, only about a fifth of a scene changes in five days, which would be worth a fivefold saving. But the share reading as changed triples as the reference ages from ten days to fifty, and a single satellite’s most recent view of a location with under 1 percent cloud averages 51 days old. Two independent facts conspire: a low-orbit satellite sees a narrow strip and takes 10 to 15 days to come back, and two thirds of Earth is under cloud at any given moment, so most revisits are wasted. Existing systems make it worse by storing a fixed reference that only ages. The reframing is that this is a logistics problem — the picture you need exists, it is simply on the wrong satellite. Confronting the same downlink shortage by deciding on board what deserves to be sent is the approach of the in-orbit filtering work covered elsewhere on this site, which appears here as a baseline.
The constellation already has a four-day-old picture, and the way to move it is the link nobody was using. Choosing the reference from any satellite in the constellation rather than one satellite’s own history cuts the average age from 51 days to 4.21, a twelvefold improvement obtained purely by widening the candidate set. Getting it to the right satellite is where the design lives. Inter-satellite links are the obvious route and the paper rejects them for two concrete reasons: they are not available on earth-observation satellites today, and a mesh guaranteeing a path between any two satellites needs thousands of them, where these constellations have under 200. So the reference goes up through the ground station — which has every image the constellation ever downloaded, and enough compute to verify an image is genuinely cloud-free, something the satellite cannot afford. That leaves a 250 kilobit uplink to carry a satellite image, and the trick that makes it fit is recognising that deciding which tiles changed is a much easier question than measuring how much each pixel changed, so the reference can go up at drastically lower resolution. Downsampling averages small changes away, producing false negatives, which a lowered threshold recovers: 2600 times smaller while missing 1.7 percent of changed tiles. Treating the constellation rather than the satellite as the unit of design is the same move as the nanosatellite constellation work covered elsewhere on this site.
The savings scale with constellation size, and the paper measures where they run out. This is where the evaluation earns trust. The headline range is not one number applied to one setting: on a two-satellite constellation the saving is 1.3 to 2.0 times, and on one with 48 satellites it reaches 2.8 to 3.3 — because the whole mechanism is a function of how many cameras are available to supply a fresh reference. A separate simulation makes the dependence explicit, giving 3 times compression with a single satellite and 7.3 with sixteen. The failure cases are reported with equal directness. Of eleven locations tested, one shows no improvement at all and another only marginal gain, both snowy in winter and spring — because snow reflectance changes constantly as it ages and dirties, so the detector correctly sees change everywhere and downloads it. The technique is lossy and the paper says so in its limitations. And it does not pretend to close the gap: bridging a 2 percent download rate by 3.3 times still leaves most of the imagery unsent, which the authors state while arguing that sending 3.3 times more often is worth having anyway. Being explicit about where a compression scheme’s scope ends is the same discipline as the lossless scientific data compression work covered elsewhere on this site.
Encoding one pass over a location
What happens between two ground contacts
A satellite about to fly over farmland it last saw itself two months ago.
Step 1 of 5
Receive a reference on the way past a ground station
While the satellite is overhead, the station uploads references for every location it will pass before its next contact. The station picks, for each place, the freshest cloud-free image any satellite in the constellation has downloaded — averaging 4.21 days old rather than 51.
Ground stations are the natural meeting point because they already hold everything the constellation has sent down, and because verifying that an image is truly cloud-free needs a neural network that will not fit in the satellite compute budget. The satellite gets a picture already known to be usable.
Why it works
- Terrain changes slowly but references age fast. Without cloud only about a fifth of a scene changes in five days → but the changed fraction triples as the reference ages from ten to fifty days → so the entire benefit hinges on freshness rather than on the change detector.
- The constellation has what the satellite lacks. A single satellite revisits every 10 to 15 days and two thirds of Earth is clouded at any moment, giving a 51 day average → whereas some satellite somewhere saw the place four days ago → so widening the candidate set is worth twelve times without any new hardware.
- Detecting change is a much cheaper question than measuring it. Deciding which tiles differ needs far less detail than quantifying each pixel → so the reference can travel at drastically reduced resolution → and because downsampling produces false negatives rather than false positives, lowering the threshold recovers them.
- Not storing unchanged tiles pays for caching references. About 80 percent of each capture is unchanged and never stored → which frees the space to cache references on board at roughly 5 percent cost → so reference uploads become differential too, compounding to over ten thousand times compression.
- The ground is the only place that can check for cloud properly. Accurate cloud detection needs a neural network the satellite cannot run → so the on-board detector is a decision tree that misses haze → and having the ground vet references before upload means the satellite never wastes its scarce uplink on an unusable one.
What it costs (trade-offs and scope)
- The headline depends on how many satellites you have. On the two-satellite dataset the saving is 1.3 to 2.0 times; on the 48-satellite one it is 2.8 to 3.3. A separate simulation confirms the dependence directly — 3 times with one satellite, 7.3 with sixteen — so the number is a property of the constellation as much as the technique.
- It is lossy, which the paper lists first among its own limitations. Applications requiring exact imagery cannot use it. The suggested remedies, more uplink or lossless delta encoding, are future work.
- It fails where the ground genuinely changes. Of eleven locations, one gains nothing and another only marginally, both snowy — snow reflectance shifts as it ages and dirties, so the detector correctly reports change everywhere and sends it. Fast-changing vegetation bands benefit far less than ordinary colour bands.
- It does not close the gap. Improving on a roughly 2 percent download rate by 3.3 times leaves most imagery still unsent, which the authors say plainly while arguing that observing 3.3 times more often is worth having.
- Whole images still go down periodically. References must be refreshed by downloading a location in full, because patching them incrementally accumulates artefacts from imperfect illumination alignment. About 20 percent of images in the evaluation are downloaded whole for this reason.
- The evaluation uses ground-processed imagery, not raw sensor data. Public datasets do not include the unprocessed level, so geographical misalignment and sensor noise are absent. The authors argue low-resolution comparison is less sensitive to both, which is plausible and untested.
- It spends uplink reserved for control messages. Argued to be safe since control needs about 2.4 kilobits against 250 available, but it is a repurposing rather than spare capacity.
- The satellite specifications are from 2017 and 2018, chosen because that is when public data exists, with some values inferred rather than measured. The compute benchmark runs on a server processor, which the paper notes does not reflect real on-board latency.
- Deployment is more complicated than the software-only framing suggests. It needs a software update to the on-board encoder and, more substantially, ground stations that share downloaded imagery with each other efficiently — which the authors acknowledge adds system complexity.
The evaluation
Four ways to fit more Earth observation down a fixed radio link
| Property | Filter on board by mission | Compare against a stored reference | Earth+ (reference from the constellation) |
|---|---|---|---|
| What gets discarded | |||
| Where the reference comes from | Not applicable | ||
| Uplink required | None | ||
| Downlink saving | Baseline; sends all cloud-free area whether changed or not | ||
| On-board resources | 30 gigabytes |
Check yourself
Check your understanding
1. Why does reference-based encoding underperform when a satellite uses its own history?
2. Why route reference images through ground stations rather than between satellites directly?
3. How does a satellite image fit into a 250 kilobit uplink?
4. What limits how much Earth+ helps?
Sources
The paper is “Earth+: On-Board Satellite Imagery Compression Leveraging Historical Earth Observations” by Kuntai Du, Yihua Cheng, Peder Olsen, Shadi Noghabi and Junchen Jiang, at the University of Chicago and Microsoft, published at ASPLOS 2025 Volume 1, pages 361-376, DOI 10.1145/3669940.3707222. It is open access under a Creative Commons Attribution licence.
This explainer is written from the full text of the published paper. Everything above comes from its own sections 2 through 8: the account of the downlink bottleneck with its estimate that about 2 percent of captured imagery reaches the ground, the growth in demand from resolution and band count against slow capacity growth, and the survey of alternatives including infrastructure expansion, mission-specific filtering that omits roughly 91 percent of the planet, in-orbit application processing, and inter-satellite multipath delivery; the section 3 analysis of reference-based encoding, including the measurement that only about a fifth of tiles change in five days without cloud, that the changed fraction triples between a ten-day and fifty-day reference, and that a single satellite’s most recent view with under 1 percent cloud averages 51 days old because of revisit intervals and cloud coverage; the section 4 design covering constellation-wide reference selection reducing the average age to 4.21 days, the worked three-satellite example, the reasons for routing through ground stations rather than inter-satellite links, and the three uplink techniques with their measured compression ratios; the section 5 implementation covering illumination alignment by linear fit, the cheap decision-tree cloud detector and its treatment of faint haze, region-of-interest encoding with a standard codec, band-by-band handling, the responses to uplink and downlink fluctuation, and the decision to refresh references by whole-image download rather than patching; and the section 6 evaluation across both datasets with its per-location and per-band breakdowns, storage and compute comparisons, the uplink and constellation-size sensitivity studies, and the section 8 limitations covering lossiness, ground-processed evaluation data, use of control-message uplink, generalisation, and deployment complexity.