Digital Media Lecture 4.1: Image Encoding Practice Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan
Refer to Supplemental text: Ways to store an image as numbers: Bitmapped Graphics Ways to store an image as numbers: Vector Graphics
Practice Examples Each image encoded three ways: 24 bit RGB Run Length Encoding Table Encoding
Example 1 24 bit RGB 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB
237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB orange | white | green | cyan |cyan | cyan | red | orange | white | red | white | blue
237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB orange | white | green | cyan |cyan | cyan | red | orange | white | red | white | blue 237, 132, 30 | 255, 255, 255 | 67, 139, 23 | 120, 248, 254 | 120, 248, 254 | 120, 248, 254 | 232, 68, 21 | 237, 132, 30 | 255, 255, 255 | 232, 68, 21 | 255, 255, 255 | 0, 59, 250
237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB orange | white | green | cyan |cyan | cyan | red | orange | white | red | white | blue 237, 132, 30 | 255, 255, 255 | 67, 139, 23 | 120, 248, 254 | 120, 248, 254 | 120, 248, 254 | 232, 68, 21 | 237, 132, 30 | 255, 255, 255 | 232, 68, 21 | 255, 255, 255 | 0, 59, 250 36 bytes total (excluding any header)
Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Run length encoding RLE 1 byte for the count
Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 1 orange | 1 white | 1 green | 3 cyan | 1 red | 1 orange | 1 white | 1 red | 1 white | 1 blue
Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 1 orange | 1 white | 1 green | 3 cyan | 1 red | 1 orange | 1 white | 1 red | 1 white | 1 blue 1 237, 132, 30 | 1 255, 255, 255 | 1 67, 139, 23 | 3 120, 248, 254 | 1 232, 68, 21 | 1 237, 132, 30 | 1 255, 255, 255 | 1 232, 68, 21 | 1 255, 255, 255 | 1 0, 59, 250
Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Run length encoding RLE 1 byte for the count 1 orange | 1 white | 1 green | 3 cyan | 1 red | 1 orange | 1 white | 1 red | 1 white | 1 blue 1 237, 132, 30 | 1 255, 255, 255 | 1 67, 139, 23 | 3 120, 248, 254 | 1 232, 68, 21 | 1 237, 132, 30 | 1 255, 255, 255 | 1 232, 68, 21 | 1 255, 255, 255 | 1 0, 59, 250 40 bytes total (excluding any header) notice that in this case, the RLE is larger than the 24 bit RGB
Example 1 24 bit RGB Table Encoding 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding
Example 1 24 bit RGB Table Encoding 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010
Example 1 24 bit RGB Table Encoding color table: 18 bytes 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010 color table: 18 bytes
Example 1 24 bit RGB Table Encoding color table: 18 bytes 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010 color table: 18 bytes 000 001 010 011 011 011 100 000 001 100 001 101
Example 1 24 bit RGB Table Encoding color table: 18 bytes 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010 color table: 18 bytes 000 001 010 011 011 011 100 000 001 100 001 101 bitmapped portion: 36 bits/8 = 5 (4.5) bytes
Example 1 24 bit RGB Table Encoding color table: 18 bytes 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 67, 139, 23 -green Example 1 24 bit RGB Table Encoding 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010 color table: 18 bytes 000 001 010 011 011 011 100 000 001 100 001 101 bitmapped portion: 36 bits/8 = 5 (4.5) bytes Total: 18 + 5 = 23 bytes (excluding any header)
Example 2 24 bit RGB 232, 68, 21 -red 255, 255, 255 -white 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue
Example 2 24 bit RGB 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue red | orange | white | white | red | white | blue | blue | red | white | white | white 232, 68, 21 | 237, 132, 30 | 255, 255, 255 | 255, 255, 255 | 232, 68, 21 | 255, 255, 255 | 0, 59, 250 | 0, 59, 250 | 232, 68, 21 | 255, 255, 255 | 255, 255, 255 | 255, 255, 255 | 36 bytes total (excluding any header)
Example 2 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue
Example 2 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue 1 red | 1 orange | 2 white | 1 red | 1 white | 2 blue | 1 red | 3 white 1 232, 68, 21 | 1 237, 132, 30 | 2 255, 255, 255 | 1 232, 68, 21 | 1 255, 255, 255 | 2 0, 59, 250 | 1 232, 68, 21 | 3 255, 255, 255 | 32 bytes total (excluding any header)
Example 2 24 bit RGB Table Encoding 232, 68, 21 -red 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue
Example 2 24 bit RGB Table Encoding 237, 132, 30 -orange 255, 255, 255 -white 232, 68, 21 -red 0, 59, 250 -blue 255, 255, 255 white 01 237, 132, 30 orange 10 232, 68, 21 red 00 0, 59, 250 blue 11 color table: 12 bytes 00 10 01 01 00 01 11 11 00 01 01 01 bitmapped portion: 24 bits/8 = 3 bytes Total: 12 + 3 = 15 bytes (excluding any header)
Example 3 24 bit RGB 27 bytes total (excluding any header) 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan orange | orange | white | orange | cyan | cyan | orange | cyan | orange 237, 132, 30 | 237, 132, 30 | 255, 255, 255 | 237, 132, 30 | 120, 248, 254 | 120, 248, 254 | 237, 132, 30 | 120, 248, 254 | 237, 132, 30 27 bytes total (excluding any header)
Example 3 24 bit RGB Run length encoding RLE 1 byte for the count 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 2 orange | 1 white | 1 orange | 2 cyan | 1 orange | 1 cyan | 1 orange 2 237, 132, 30 | 1 255, 255, 255 | 1 237, 132, 30 | 2 120, 248, 254 | 1 237, 132, 30 | 1 120, 248, 254 | 1 237, 132, 30 28 bytes total (excluding any header)
Example 3 24 bit RGB Table Encoding Total: 9 + 3 = 12 bytes 237, 132, 30 -orange 255, 255, 255 -white 120, 248, 254 -cyan 237, 132, 30 orange 00 255, 255, 255 white 01 color table: 9 bytes 120, 248, 254 cyan 10 00 00 01 00 10 10 00 10 00 bitmapped portion: 18 bits / 8 = 3 bytes Total: 9 + 3 = 12 bytes (excluding any header)
Another table encoding example
Example 4 24 bit RGB Table Encoding color table: 18 bytes 237, 132, 30 -orange Example 4 24 bit RGB Table Encoding 255, 255, 255 -white 67, 139, 23 -green 120, 248, 254 -cyan 232, 68, 21 -red 0, 59, 250 -blue 237, 132, 30 orange 000 255, 255, 255 white 001 120, 248, 254 cyan 011 232, 68, 21 red 100 0, 59, 250 blue 101 67, 139, 23 green 010 color table: 18 bytes 000 000 001 010 000 011 011 011 000 100 000 001 000 100 001 101 bitmapped portion: 48 bits/8 = 6 bytes Total: 18 + 6 = 24 bytes (excluding any header)
Additional practice images