Programming Languages for Compressing Graphics

  • Authors:
  • Morgan McGuire;Shriram Krishnamurthi;John F. Hughes

  • Affiliations:
  • -;-;-

  • Venue:
  • ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Images are programs. They are usually simple instructions to a very specialized interpreter that renders them on screen. Image formats therefore correspond to different programming languages, each with distinctive properties of program size and accuracy. Image-processing languages render large images from small pieces of code. We present Evolver, a language and toolkit that perform the reverse transformation.The toolkit accepts images in conventional graphics formats like JPEG and uses genetic algorithms to grow a program in the Evolver language that generates a similar image. Because the program it produces is often significantly smaller than the input image, Evolver can be used as a compression tool.The language balances the tradeoff between having many features, which improves compression, and fewer features, which improves searching. In addition, by being programmatic descriptions, the rendered images scale much better to multiple resolutions than fixed-size images. We have implemented this system and present examples of its use.