Upload
shanon-lee
View
214
Download
2
Embed Size (px)
Citation preview
Digital Media
Lecture 4.1: Image EncodingPractice
Georgia Gwinnett CollegeSchool 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
237, 132, 30 -orange
255, 255, 255 -white
120, 248, 254 -cyan
232, 68, 21 -red
0, 59, 250 -blue
67, 139, 23 -green
orange | white | green | cyan |cyan | cyan | red | orange | white | red | white | blue
Example 124 bit RGB
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)
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
237, 132, 30 -orange
255, 255, 255 -white
120, 248, 254 -cyan
232, 68, 21 -red
0, 59, 250 -blue
67, 139, 23 -green
1 orange | 1 white | 1 green | 3 cyan | 1 red | 1 orange | 1 white | 1 red | 1 white | 1 blue
Example 124 bit RGBRun length encodingRLE1 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 124 bit RGBTable 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 010011 011 011100 000 001100 001 101
bitmapped portion: 36 bits/8 = 5 (4.5) bytes
Total: 18 + 5 = 23 bytes(excluding any header)
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
Example 224 bit RGB
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 224 bit RGBRun length encodingRLE1 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 224 bit RGBTable Encoding
color table: 12 bytes
00 10 01 0100 01 11 1100 01 01 01
bitmapped portion: 24 bits/8 = 3 bytes
Total: 12 + 3 = 15 bytes(excluding any header)
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
orange | orange | white | orange | cyan | cyan | orange | cyan | orange
Example 324 bit RGB
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)
237, 132, 30 -orange
255, 255, 255 -white
120, 248, 254 -cyan
Example 324 bit RGBRun length encodingRLE1 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 324 bit RGBTable Encoding
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 0100 10 1000 10 00
bitmapped portion: 18 bits / 8 = 3 bytes
Total: 9 + 3 = 12 bytes(excluding any header)
Another table encoding example
237, 132, 30 -orange
255, 255, 255 -white
120, 248, 254 -cyan
232, 68, 21 -red
0, 59, 250 -blue
67, 139, 23 -green
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 424 bit RGBTable Encoding
000 000 001 010000 011 011 011000 100 000 001000 100 001 101
bitmapped portion: 48 bits/8 = 6 bytes
Total: 18 + 6 = 24 bytes(excluding any header)
Additional practice images