Snapshot Mike Huhs Sanjay Jhaveri Project Digital Camera User Interface Compression and Storage Courtesy flickr users la_salebete and smet_dk. Used with permission. Display Live Video Capture Camera Video Shoot Button Cursor Last Picture Courtesy flickr user christinatinarobinson. Used with permission. Display Capture Camera Video Click! Courtesy flickr user christinatinarobinson. Used with permission. Display Capture Courtesy flickr user christinatinarobinson. Used with permission. Display Capture Live Video Courtesy flickr user christinatinarobinson. Used with permission. Storage ZBT Ram 1 Click! Compression Row, Column = Address Courtesy flickr users la_salebete and smet_dk. Used with permission. ZBT Ram 2 Your Picture Block Diagram NTSC A/D XVGA NTSC YCrCb Write Decode Control Courtesy flickr users la_salebete and smet_dk. Used with permission. Controls Control Data, Address line, column Address RAM Data Compressed Image Controls Xvga signals Image Compression Read Control RGB YCrCb Image RGB Convert User Inputs Mouse Image from Wikimedia Commons, http://commons.wikimedia.org. Used with permission. Image Compression • 2D Discrete Cosine Transform: decomposes image into frequency components • • • Apply 1D transform to rows and then to columns Separately transform 8 x 8 blocks of image Eye acts as natural low pass filter • Only store low frequency components of image 180 150 23 12 5 2 1 2 130 125 54 22 8 3 5 4 89 77 45 19 4 2 0 3 45 33 21 15 8 4 3 1 22 9 12 5 1 2 5 0 17 13 7 10 8 6 2 2 8 3 4 6 2 1 3 0 5 2 8 3 1 2 5 0 8x8 pixels 8x8 Input Matrix 1D DCT 8x8 Transform Matrix Transpose 1D DCT Image Compression From read module data_in data_in valid From control To read module get picture DCT & Memory Control delete picture data_out data_out valid d c t d c t d c t ZBT RAM i d c t ZBT Ram can store ~ 5-6 pictures i d c t i d c t Possible Additions Visual effects such as zoom, rotate, and blur Watermarked symbol that appears after processing the image Questions?