In this first introduction to image encoding I want to show a common use-case for image coding.
Imagine a regular digital camera for taking photos. It probably has some sort of memory card that can be inserted to store the pictures taken. Without image coding the camera would take a picture of the real world by means of a lens system that focuses the light waves onto an array of sensors. On this array one can find sensors for red, green and blue lightwaves. So what these sensors do is measure the intensity of the light falling on them and this intensity is then stored as an intensity level in form of a number. The final data consists of three values per pixel, one for each color component. Now without any sort of encoding, this would lead to a massive amount of data. For example would a 5 Megapixels camera generate approximately 5.000.000 * (8+8+8) bit = 120 Mbit = 15 MByte of data per image (if we spend 8 bit per color). This is commonly called raw image data. 'Raw' as in unprocessed. A 4 GB memory card would thus store 250 images.
But of course we can do better and for that reason virtually any consumer level digital camera opts to store images in a compressed format. Therefor today an image encoder is integrated into the camera. The following flow-chart illustrates the process of capturing a real world scene with a digital camera.

The final filesize of a coded image depends on many factors and cannot be calculated beforehand. So the 'Series of Bits' is of arbitrary size which should of course be smaller than the size of the uncompressed data.
I hope this short introduction has given you a little insight on where image coding is useful. There are of course many other places where image coding is used. What methods there are and how they work will be the topic of some of the following courses.
No comments:
Post a Comment