AI Glossary / MLOps and deployment / Intermediate
FELICS
Definition
FELICS stands for Fast, Efficient, Lossless Image Compression System. It is a lossless image-coding method developed by Paul Howard and Jeffrey Vitter that uses two already known neighboring pixels to guide the representation of the next pixel. Its design emphasizes simple prediction and coding operations while preserving the original pixel values exactly.
What it means
Nearby image pixels often have related intensities, so the next value can be described more economically than an arbitrary value from the full intensity range. FELICS uses the interval between two neighbors as useful context. A value inside that interval is handled differently from one outside it. This is a statistical design choice, not a rule that real images must obey. Strong edges, noise and unusual textures can produce different coding behavior.
How it works
In the basic raster-scan formulation, the encoder takes two previously coded neighbors, usually the pixel above and the pixel to the left, with special handling at image boundaries. Let L be their smaller value and H their larger value. The coder indicates whether the current pixel lies inside [L, H]. Inside values use an adjusted binary representation; outside values also indicate a side and encode their distance using a suitable Golomb or Rice code. Decoder and encoder derive the same interval from already reconstructed neighbors.
Three practical examples
- An image-compression course uses FELICS to show how a small local context can support exact predictive coding.
- An embedded-systems researcher compares simple lossless image coders under limits on processing time and memory.
- An AI data engineer examining a legacy image stream verifies pixel-level round trips before using the decoded images as training data.
Think of it this way
Think of estimating the next house number from two nearby signs and then recording whether it lies between them or beyond either end. The known signs reduce the amount of explanation needed. The analogy is limited: pixel intensities are not ordered street addresses, and an image edge can make the next value very different from both neighbors.
Worked example
Suppose two neighboring grayscale pixels have values 100 and 103. Then L = 100, H = 103 and the interval contains four possible integer values. If the next pixel is 102, it is in range and its offset from L is 2. A two-bit representation can distinguish the four in-range offsets, in addition to the in-range indicator. If the next pixel is 110, the coder instead signals out-of-range and above-range, then represents the appropriate distance according to its specified outside-interval convention. This example explains the decision structure without inventing a complete FELICS bitstream or omitting the parameter and boundary rules required by an implementation.
Illustrative case study
Fictional case: Poplar Imaging evaluates lossless storage for grayscale inspection frames on a constrained device. It compares FELICS with other supported coders on smooth panels, sharp printed labels and noisy low-light images. The team checks decoded pixels against the originals and records processor time, compressed size and memory. It avoids quoting historical speed comparisons as if they were measurements on its hardware. This fictional case illustrates a fair evaluation process rather than a product recommendation.
Common misconceptions and mistakes
Do not confuse FELICS with a lossy method that replaces a pixel by its predicted value. The coder transmits enough information to recover the actual value. Do not assume the neighbor interval always contains the next pixel; the outside case is essential. Historical claims about speed relative to a particular lossless JPEG implementation describe the paper's experiment, not a permanent multiplier. Also, the algorithm name does not define every practical file-container detail such as metadata, color interpretation or integrity checks.
Business use
For a business, understanding FELICS can help assess simple predictive compression and legacy image formats. Deployment decisions should use current measurements on representative data and receiving devices. Include compatibility, maintained implementations and archival recovery requirements alongside speed. For AI workflows, preserve pixel depth and image interpretation as well as numeric samples; exact integer reconstruction does not compensate for a mislabeled color space or an incorrect image orientation.
People also ask
Is FELICS lossless?
Yes. A compatible decoder reconstructs the encoded pixel values exactly.
Does it require a neural network?
No. Its traditional formulation uses local pixel context and relatively simple codes.
Are the two neighbors always above and left?
That is the usual interior raster-scan case, but boundary conditions require explicitly defined alternatives.
Check your understanding
With neighbors 100 and 103, does an actual next value of 110 get clipped to 103?
Answer: No. It is coded as an out-of-range value with enough information to recover 110. Clipping would introduce loss and would not follow the lossless objective.
Related terms
- Golomb coding
- predictive coding
- lossless image compression
- Rice coding
- context model
- raster scan
- JPEG-LS
Learn next
Walk through a tiny grayscale image in a specified scan order. For each interior pixel, calculate L, H and whether the value lies inside the interval. Then inspect the original method's edge rules and outside-distance coding before attempting an encoder. Validate every pixel after decoding, not only visual similarity.
More in MLOps and deployment
- Even - Rodeh coding - Even - Rodeh coding is a self-delimiting binary code for nonnegative integers associated with Shimon Even and Michael Rodeh.
- Execution monitoring - Execution monitoring is the process of observing an agent's actions and environment during plan execution to determine whether the current course of action...
- Exponential-Golomb coding - Exponential-Golomb coding, often shortened to Exp-Golomb coding, is a family of self-delimiting binary codes for nonnegative integers.
- Fibonacci coding - Fibonacci coding is a self-delimiting representation of positive integers based on Fibonacci numbers.
- FM-index - An FM-index is a compressed full-text index developed by Paolo Ferragina and Giovanni Manzini.
- Fractal compression - Fractal compression is a family of compression methods that represents data, especially images, through transformations whose repeated application...
Sources
Primary research: Howard and Vitter, Fast and Efficient Lossless Image Compression, author-hosted paper, https://www.ittc.ku.edu/~jsv/Papers/HoV93.fitech.pdf . The primary PDF was opened and its algorithm description consulted. Full implementation-level and editorial review remain pending; no historical benchmark result is presented as a current performance guarantee.
Previous: Feedforward neural network Next: Feret's diameter