Color Cell Compression

Color Cell Compression is a lossy image compression algorithm developed by Campbell et al.,[1][2][3] in 1986, which can be considered an early forerunner of modern texture compression algorithms, such as S3 Texture Compression and Adaptive Scalable Texture Compression. It is closely related to Block Truncation Coding,[4] another lossy image compression algorithm, which predates Color Cell Compression, in that it uses the dominant luminance of a block of pixels to partition said pixels into two representative colors. The primary difference between Block Truncation Coding and Color Cell Compression is that the former was designed to compress grayscale images and the latter was designed to compress color images. Also, Block Truncation Coding requires that the standard deviation of the colors of pixels in a block be computed in order to compress an image, whereas Color Cell Compression does not use the standard deviation. Both algorithms, though, can compress an image down to effectively 2 bits per pixel.

A close-up of a mandrill, with various colors depicted
Original uncompressed 24-bits per pixel color image
Compressed image of the above Mandrill standard test image
CCC compressed image, but using only 24-bits to 15-bits color quantization combined with a luminance bitmap for 2.875 bits per pixel (with no palette / lookup-table)
See caption
256 entry palette / lookup-table implementation of the CCC algorithm at 2-bits per pixel with the palette built using K-means clustering
See caption
Result of the output of Mandrill standard test image compressed with the CCC algorithm at 2-bits per pixel with a 256 entry palette / lookup-table generated using a naïve 15-bit color histogram algorithm
  1. ^ Campbell, G.; Defanti, T. A.; Frederiksen, J.; Joyce, S. A.; Leske, L. A. (1986). "Two bit/pixel full color encoding". Proceedings of the 13th annual conference on Computer graphics and interactive techniques - SIGGRAPH '86. p. 215. doi:10.1145/15922.15910. ISBN 978-0-89791-196-2. S2CID 18392630.
  2. ^ Pins, Markus (1991). "Extensions of the Color-Cell-Compression-Algorithm". Computer Animation '91. pp. 241–251. doi:10.1007/978-4-431-66890-9_17. ISBN 978-4-431-66892-3.
  3. ^ Lamparter, Bernd Effelsberg, Wolfgang (June 2005). "EXtended color cell compression — A runtime-efficient compression scheme for software video". Multimedia: Advanced Teleservices and High-Speed Communication Architectures. Lecture Notes in Computer Science. Vol. 868. pp. 181–190. doi:10.1007/3-540-58494-3_16. ISBN 978-3-540-58494-0.{{cite book}}: CS1 maint: multiple names: authors list (link)[permanent dead link]
  4. ^ Wennersten, P.; Ström, J. (2009). "Table-based Alpha Compression" (PDF). Computer Graphics Forum. 28 (2): 687. doi:10.1111/j.1467-8659.2009.01409.x. S2CID 7743813.