NASA's Jet Propulsion Laboratory was a magical place to be last night, as engineers, flight specialists, NASA administrators, space celebrities, and scientists from many fields gathered to witness the landing of the Mars Science Laboratory (MSL) Curiosity rover. Those seven minutes of terror ended in a picture-perfect landing: an amazing machine went through a crazy Rube Goldbergian descent sequence, and plopped down about two meters away from its planned destination on the Red Planet's surface.
We witnessed history. It seemed impossible. It was awesome.
I sat in on the post-landing press conference, and live-tweeted the evening at @boingboing. During the press conference, after the high-fives and screams of joy subsided, I asked MSL engineer Adam Steltzner a question about those first two all-important thumbnail images Curiosity sent back—critical because the data they contained would tell NASA if the rover had touched down in a safe spot.
Given the great distance and technical challenges involved in transmitting timely data back from Mars, what file type and image compression algorithm(s) did they use for those first "rush" thumbnails? There's a 14 minute delay involved for any signals from Mars to Earth.
A dorky question, perhaps, but I was curious, and figured nobody else would ask. Things like, "Hey how do you guys feel right now," and "What will Curiosity do next," I knew others would tackle.
Mr. Steltzner didn't have details handy about the image file types used, and he referred me to Mars mission image specialist Justin Maki. Today I checked in with Mr. Maki and his JPL colleagues whose work focuses on data compression and interplanetary data transmission. Here's what I learned.
What space reporter Bill Harwood recounts on SpaceFlightNow is what I witnessed right there in the press room, too:
While engineers did not expect pictures right away, blurry low-resolution thumbnails from the rover's rear hazard avoidance cameras were transmitted within minutes of touchdown showing a wheel on the surface of Mars.
"Odyssey data is still strong," Chen reported. "Odyssey is nice and high in the sky. At this time we're standing by for images..."
"We've got thumbnails," someone said.
"We are wheels down on Mars!" Chen reported.
"Oh my God," someone said in the background.
They arrived faster than any of us in the audience expected, and they were of great significance in the moment. So how did they get to us? JPL imaging specialist Justin Maki, tells Boing Boing:
The compression software was written at JPL by Aaron Kiely and Matt Klimesh.
The images are wavelet-compressed, much like JPEG 2000. The main difference is that the algorithm used on MSL (and MER) use is computationally less complex than JPEG-2000.
Matt tells Boing Boing:
I don't have much to add beyond Justin's answer. It is a custom file format and the compression algorithm is in many ways similar to the algorithm for JPEG-2000 compression, but with lower computational complexity.
No name for the format (and I wouldn't necessarily characterize it as proprietary), but we call the compressor "ICER" (not an acronym, just a rearrangement of the letters of "Rice"; the Rice algorithm is a data compression algorithm first used decades ago).
And Boing Boing reader Darryl Lee points us to this JPL document (PDF) which contains specs for the lower-res cameras used on the MER rovers, Spirit and Opportunity.
"Curiosity has a much higher-resolution camera (MastCam), but the photographs sent last night were from the Hazcams, which are much lower-resolution," Darryl correctly notes.
3.2. Image Compression
 To maximize the number of images acquired during the mission, virtually all image data will be compressed by the rover CPU (using either lossy or lossless compression) prior to placement into the telemetry stream. To perform this task the rovers will utilize a software implementation of the JPL-developed ICER wavelet-based image compressor [Kiely and Klimesh, 2003], capable of providing lossy and lossless compression. In cases where lossless compression is desired and speed is particularly important, compression will be performed (in software) by a modified version of the low-complexity (LOCO) lossless image compression algorithm [Klimesh et al., 2001; Weinberger et al., 1996]. The MER mission is utilizing state of the art image compression technology by flying compressors that deliver compression effectiveness comparable to that achieved by the JPEG- 2000 image compression standard [Adams, 2001], but with lower computational complexity [Kiely and Klimesh, 2003].
There's more details about ICER and LOCO in there, too.
And there you have it.