Source/data compression
USES-32 (FPGA)
32-bit Universal Source Encoder for Space core for FPGA implementation.
USES-32C is a 32-bit Universal Source Encoder for Space that encodes sampled data using a lossless data-compression algorithm. Input data may be two’s complement or positive and quantized in the range of 1 to 32 bits. The USES-32C core is available for FPGA implementation.
Highlights
- Lossless compression up to 200 Msamples/s on characterized FPGA implementations
- Conformant with CCSDS Lossless Data Compression standard 121.0-B
- 31 Rice algorithm coding options plus one low-entropy option
- Shorter code identifier when N ≤ 4 for improved compression of feature maps
- Input quantization N = {1 … 32} for positive or two’s-complement data
- Parallel 32-bit output
- Several operating modes, including nearest-neighbor, 2D, external prediction, entropy coding, and bypass
- Implementable in radiation-hard FPGA technology
Description
USES-32C (32-bit Universal Source Encoder for Space) accepts sampled data and encodes the data using a lossless algorithm. Input data may be two’s complement or positive and quantized within the range N = {1 … 32} bits. Maximum quantization is 32 bits/sample.
The sampled data may, for example, be imagery, digital audio, data from transform bins, or data from scientific measurements. The core operates on small blocks of data rather than an arbitrary number of data samples. The block value J must be set between 4 and 64 samples per block. If a scan line does not end in an integral number of J samples, the final input block must be filled using the Fill-Samples configuration value.
USES-32C has two major modes of operation: compression and bypass. In compression mode, the entropy coder is used to code input data, while the preprocessor may or may not be used. Coding may occur after the data is preprocessed using prediction modes, or input data may be routed around the preprocessor so that it goes directly to the entropy coder. In bypass mode, no compression or insertion of bits is performed; the core functions as a packetizer, forming data into 32-bit words.
When in compression mode, USES-32C supports three prediction methods:
- Nearest-neighbor prediction: the predictor is the previous sample.
- Simple 2D prediction: the predictor is the average of adjacent X and Y samples.
- External prediction: the predictor is externally supplied for prediction in Y and Z dimensions.