Digital Media Lecture 4.1: Image Encoding Practice Georgia Gwinnett College School of Science and...

Preview:

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

Recommended