Memory Efficient Image Representation

Project description

This project is about creating a way to display images in a memory efficient manner. This is done using a quadtree to allow the tiling of an image which then downsamples regions using an interpolation algorithm based on the screen’s resolution. This then involves recycling any non-visible tiles that are thereby freed from memory.

The second phase of this project involves pre-processing images to further help with reducing the memory costs of displaying an image. A colour decomposition algorithm is used to identify regions of an image that contain perceptually similar colours using the CIELAB colour space with the most accurate colour difference formula, CIEDE2000. This is then used to allow regions to be represented without needing decoding any pixel data.

Image

Details

Technologies used

The quadtree image-viewer was created using:

  • Java
  • Android Studio
  • Gradle
  • JUnit
  • Hamcrest
  • Gson

The colour decomposition algorithm was created using:

  • Ruby
  • Bundler
  • RMagick
  • ImageMagick
  • Test-unit
  • Rake

About me

Name: Jonas Bleyl

Course: BSc (Hons) Computer Science

Project: Memory Efficient Image Representation