Don't downlink quantum noise

This is a
PUNCH Science Nugget

PUNCH uses square-root coding 
			to eliminate unwanted quantum “photon noise” from the data. Raw camera pixels are 16-bit numbers, which are partially 
			randomized by quantum fluctuations.  The size of the fluctuations varies: bright features (like stars) lose about 
			7.5 bits of precision, while darker pixels may only lose about 4 bits. Square-root coding discards noise while preserving 
			data – greatly reducing the cost of downlinking all those images to the ground.

PUNCH uses square-root coding to eliminate unwanted quantum “photon noise” from the data. Raw camera pixels are 16-bit numbers, which are partially randomized by quantum fluctuations. The size of the fluctuations varies: bright features (like stars) lose about 7.5 bits of precision, while darker pixels may only lose about 4 bits. Square-root coding discards noise while preserving data – greatly reducing the cost of downlinking all those images to the ground.

Downlinking data from space costs money. PUNCH generates a lot of data, which drives the cost of operations – so we do everything we can to reduce the size of each image. We can’t use “lossy” compression algorithms, since a lot of the PUNCH science lives in very faint fluctuations that would be discarded in compression. Coming out of the camera, each WFI image is 8 Megabytes (MB) of 16-bit values. Using JPEG-LS (a lossless algorithm) on the raw images would reduce them to about 3 MB each. But we can (and do) squeeze them further.

JPEG-LS is limited by quantum mechanical effects in each pixel: because light arrives as individual photon particles, there is random statistical “photon noise” associated with counting the number of photons in each batch. That counting noise is completely random and therefore it can’t be compressed at all: there’s no structure for JPEG-LS to use to shrink the image further. PUNCH avoids that problem by taking the scaled square root of each pixel. That means we don’t store any unwanted information about the photon noise itself. In turn, that helps two ways: (a) we discard some bits from each pixel, which adds up fast; and (b) the bits we discard happen to be the incompressible part of the image, so the rest of each image actually compresses better than the raw image values would.

Part of commissioning for PUNCH was tuning the number of bits to preserve. We want just over one bit worth of noise, to “dither” the data, smoothing out the digital transitions and making them better approximate a smooth measurement. The theoretical ideal scaling factor reduces the WFI images from 16 bits (linear) to 10 bits (square rooted), preserving just 1,000 unique values for each pixel over a dynamic range of about 65,000 values. We adjusted the scaling range between 9.5 and 11.5 bits on-orbit, and analyzed the statistics of the images. We found that 10 bits is indeed exactly right for WFI, preserving dithering across the whole dynamic range, while reducing the image size from 8 MB (raw) or 3 MB (JPEG-LS) to just 1.2 MB (coded & compressed).

This strategy is a big win: square root coding reduced our ground-contact costs by roughly 50%!


PUNCH science nuggets are archived on our News Page.
You can subscribe to PUNCH nuggets by email.
NASA official releases about PUNCH are at the NASA PUNCH blog.