One image, step by step
We send a real photo through the KARC pipeline — each step shows its real intermediate result.
The original image
Start: a lossless photo, 512×341 pixels, about 512 KB uncompressed.

Separate brightness from color
The reversible YCoCg-R transform splits the image into brightness (Y) and color (Co/Cg). The eye sees brightness more sharply than color.


Store color more coarsely (4:2:0)
Color is stored at half resolution — barely visible, but saves bits.

Choose the representation per region
The heart of KARC: each 8×8 block decides for itself — smooth areas are described as a plane (PLANE), detail via DCT. Here KARC picks PLANE for 19.5% of blocks.

Round and pack
The coefficients are rounded more coarsely (quantization) and packed compactly with rANS. The ~512 KB become an 8 KB file.
Back to the image
The decoder rebuilds the image. The error map (amplified ×6) shows: deviations sit at the edges, the smooth areas stay clean.


~512 KB become 8 KB

