1 / 47

Digital Media

Digital Media. Dr. Jim Rowan ITEC 2110 Bitmapped Images. Bitmapped images have problems scaling Vector graphics do not have scaling issues. Bitmapped scaling. Vector graphic scaling. Resolution is detail.

yeo-sexton
Download Presentation

Digital Media

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digital Media Dr. Jim Rowan ITEC 2110 Bitmapped Images

  2. Bitmapped images have problems scaling Vector graphics do not have scaling issues

  3. Bitmapped scaling Vector graphic scaling

  4. Resolution is detail • The x and y dimensions of the image can be seen as a measure of how much DETAIL is contained in the picture • Many image formats encode these dimensions by putting in the header (as we saw in the first day demonstration) • The color depth determines how many colors this detail can assume

  5. Device Resolution affectsDisplay Size • Is the image smaller than you thought? • Same image, displayed at different resolutions

  6. What happens when you increase resolution? • For example, to go from 72 dpi to 144 dpi • AKA upsampling • Must scale it up... • To do that, you must add pixels… • This requires interpolation between pixels For example, to go from 4x4 to 8x8 ==>

  7. But this example is pretty simple because the original is all one color… Here the original 4x4 image is doubled in size to 8x8 by adding pixels

  8. Well, the answer is… it depends! If you double the image size you have to add pixels... But what color do you make the additions? ?

  9. You can consider what the colors are that surround the original pixel Mathematically this usually takes the form of matrix operation ?

  10. Decrease Resolution… Must discard some pixels... • AKA downsampling Downsampling: Presents a paradox • There are fewer bits since you’re throwing some pixels out • But... subjective quality goes up • How? Downsampling routine can use the tossed-out pixels to modify the remaining pixel • Intentionally doing this is called oversampling For example ==>

  11. If you cut each of the dimensions in half (8x8 -> 4x4)=> 64 - 16 = 48 pixels removed You have to remove 3/4 of the pixels! How do you decide which pixels to remove? 64 pixels 16 pixels

  12. One answer: throw them away! Here it works... because it is a solid color

  13. Another answer: But what if it is multi-colored? You can use the information in the surrounding pixels to influence the remaining pixel How do you do this? Remember… it’s just numbers in there!

  14. Convolution Calculations Convolution is the mathematical process that image software (like GIMP or Photoshop) use to do these things (More of this in the next lecture)

  15. Browsers... generally bad at downsampling • Their image processing is not very sophisticated • What are the implications? • Use image processing programs to do downsampling • (GIMP, Photoshop) are sophisticated enough to take advantage of the extra information so... • Images for WWW should be downsampled before they are used on the web.

  16. Data Compression • What we’ve seen so far: • Storing an image as an array of pixels • With color stored as three bytes per pixel • Image file gets BIG fast! • How to reduce that? • Using a color table reduces the file size of the stored image (as seen before) • So let’s talk about compression techniques==>

  17. Data Compression Consider this image: With no compression... RGB encoding => 64 x 3 = 192 bytes 64 pixels

  18. Side Note 1 We’ve been talking about RGB encoding for images… So… How many different colors can you make if using a 24 bit RGB color scheme?

  19. Side Note 2 24 bits ===> How many colors? 2**24 = 16,777,216 different colors Now back to compression techniques ==>

  20. Data CompressionTable (or dictionary)with just two colors: 0 100 100 255 0 0 Consider this image: 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 14 bytes ==> or 64 pixels 112 bits

  21. Data CompressionRun Length Encoding Consider this image: RLE compression... 9RGB6RGB2RGB6RGB2RGB6RGB2RGB6RGB2RGB6RGB2RGB6RGB9RGB 9(0,0,255)6(255,0,0)2(0,0,255)6(255,0,0)2(0,0,255)6(255,0,0)2(0,0,255)6(255,0,0)2(0,0,255)6(255,0,0)2(0,0,255)6(255,0,0)9(0,0,255) = 52 bytes 64 pixels

  22. Run Length Encoding • This advantage would be dependent on the CONTENT of the image. • Why? • Could RLE result in a larger image? • How?

  23. Run Length Encoding:Always better than RGB? Consider this image: RLE compression... 1RGB1RGB1RGB1RGB1RGB... 1RGB1RGB1RGB -> 256 bytes 64 pixels

  24. Original Original compression routine decompress routine Run Length Encoding • RLE is Lossless • What is lossless? compressed original Exact duplicate

  25. Dictionary-based (aka Table-based) compression technique • (Note: Data compression works on files other than images) • Construct a table of strings (for images, colors) found in the file to be compressed • Each occurrence in the file of a string (for images, color) found in the table is replaced by a pointer to that occurrence. • Lossless ONLY if all the colors are in the color table

  26. Lossless techniques Can be used on image files color table can be lossless (if the color table holds all colors in the image) One lossless technique is a zip file Run length encoding is also lossless • A lossless technique must be used for executable files • Why?

  27. JPEG compression • JPG is Lossy • Best suited for natural photographs and similar images • Fine details with continuous tone changes • JPEG takes advantage of the fact that humans don’t perceive the effect of high frequencies accurately (High frequency components are associated with abrupt changes in image intensity… like a hard edge)

  28. JPEG compression... • JPEG finds these high frequency components by • treating the image as a matrix • using the Discrete Cosine Transform (DCT) to convert an array of pixels into an array of coefficients • DCT is expensive computationally so it the image is broken into 8x8 pixel squares and applied to each of the squares

  29. JPEG compression... • The high frequency components do not contribute much to the perceptible quality of the image • They encode the frequencies at different quantization levels giving the low frequency components greater detail • ==>JPEG uses more storage space for the more visible elements of an image

  30. JPEG compression... • Lossy • Effective for the kinds of images it is intended for ==> 95% reduction in size • Allows the control of degree of compression • Suffers from artifacts that causes edges to blur... WHY? • HMMMmmmm…

  31. One reason lossy compression works… we just don’t notice it!

  32. Side Note!To make matters worse… • The human vision system is very complex • Upside down • Split- left side of eye to right side of brain • Right side of eye to left side of brain • Cones and rods not uniformly distributed • Cones and rods are upside down resulting in blind spots in each eye that we just ignore! Partially responsible for making lossy techniques work… you don’t see what you think you see ==>

  33. Optical Illusions • See Additional Class Information: Illusions

  34. Bitmapped image manipulation • Like GIMP and Photoshop… • Pixel point processing just deal with a single pixel • Pixel group processing the single pixel is influenced by the pixels that surround it

  35. Adjustment of color in an image is pixel point processing • Color adjustment • brightness • adjusts every pixel brightness up or down • contrast • adjusts the RANGE of brightness • increasing or reducing the difference between brightest and darkest areas

  36. Rescaling a bitmapped image is called resampling: Two kinds Downsampling Upsampling Pixel group processing Different ways to do this that result in different results Nearest Neighbor, bilinear & bicubic

  37. Pixel Group Processing • Final value for a pixel is affected by its neighbors • Because the relationship between a pixel and its neighbors provides information about how color or brightness is changing in that region • How do you do this? • ==> Convolution!

  38. Convolution & Convolution Masks • Very expensive computationally • each pixel undergoes many arithmetic operations • If you want all the surrounding pixels to equally affect the pixel in question... • You need an image and a mask • Then apply the mask to the image Visually it looks like this==>

  39. Convolution mask Convolution kernel Using this convolution mask on this convolution kernel the final value of the pixel (2,2) will be: pixel (2,2) = 1/9(1,1) + 1/9(1,2)+ 1/9(1,3) +1/9(2,1) +1/9(2,2) +1/9(2,3) +1/9(3,1) +1/9(3,2) +1/9(3,3)

  40. Convolution mask Using this convolution mask on this convolution kernel the final value of the pixel (3,2) will be: pixel (3,2) = 1/9(1,2) + 1/9(1,3)+ 1/9(1,4) +1/9(2,2) +1/9(2,3) +1/9(2,4) +1/9(3,2) +1/9(3,3) +1/9(3,4)

  41. Convolution mask Using this convolution mask on this convolution kernel the final value of the pixel (4,2) will be: pixel (4,2) = 1/9(1,3) + 1/9(1,4)+ 1/9(1,45) +1/9(2,3) +1/9(2,4) +1/9(2,5) +1/9(3,3) +1/9(3,4) +1/9(3,5)

  42. Convolution mask Using this convolution mask on this convolution kernel the final value of the pixel (5,2) will be: pixel (5,2) = 1/9(1,4) + 1/9(1,5)+ 1/9(1,6) +1/9(2,4) +1/9(2,5) +1/9(2,6) +1/9(3,4) +1/9(3,5) +1/9(3,6)

  43. Using a different Convolution mask...

  44. Convolution CalculationsPixel Group Processing Image Encoding Practice Powerpoint slides found on the wiki in “additional class information” Next class we will do some more of these

  45. Questions?

More Related