Fundamentals of Multimedia
Graphics and Image Data Representation
LecturerJun Xiao ( College of Software and Technology
Main content
Basic Data Types
1-Bit Images 8-Bit Grey-Level Images 24-Bit Color Images 8-Bit Color Images Color Lookup Table (LUTs)
Popular File Formats
JPEG ,GIF, BMP, others
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1. Basic Graphics/Image Types
1-Bit Image 8-Bit Grey-Level Image 24-Bit Color Image 8-Bit Color Image Color Lookup Tables How to Devise a Color Lookup Table
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1.1 1-Bit ImageCase
Alao called Binary Image or Monochrome Image
1-Bit Image Examples
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 4
1.1 1-Bit Image: Features
Consist of on and off pixels (pixel--picture elements in digital images) Each pixel is stored as a single bit (0 or 1), 0--black, 1--white
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1.1 1-Bit ImageSize and Usage
Storage
Monochrome image with resolution: 640480 640480/8 bytes Storing space needed: 38.4KB
Usage
Pictures containing only simple graphics and text
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 6
1.2 8-Bit Gray-level ImageCase
8-Bit Gray-Level Image Examples
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1.2 8-Bit Gray-level ImageCase
8-Bit Gray-Level Image VS 1-Bit Image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1.2 8-Bit Gray-level ImageFeatures
Each pixel is represented by a single byte
A gray value between 0 and 255
The entire image can be thought of as a twodimensional array of pixel values
Called bitmap
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
1.2 8-Bit Gray-level ImageFeatures
8-Bit image as a set of 1bit bitplanes
Each plane consists of a 1bit representation of the image at one level
Plane 0
Plane 7
All the bitplanes make up a single byte that stores the value between 0 ~ 255
Bitplane
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
10
1.2 8-Bit Gray-level ImageSize
Resolution
High16001200 Low640480 Aspect Ratio : 4:3
The space needed by a 640480 grey image
640480307,200 bytes
Hardware storing Image Array
frame buffer / Video card
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
11
1.2 8-Bit Gray-level ImagePrint
How to print an 8-bit gray-level image on 2-level (1-bit) printer? DPI
Dot per inch
Printing such image is complex
Use Dithering Convert intensity resolution into spatial resolution
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
12
1.2 8-Bit Gray-level ImagePrint
Dithering
The main strategy is to replace a pixel value by a larger pattern, say 2 x 2 or 4 x 4, such that the number of printed dots approximates the varying-sized disks of ink used in analog, in halftone printing (e.g., for newspaper photos). Convert the color resolution into the spatial resolution.
An NN matrix represents N2+1 levels of intensity
22 pattern can represent five level
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
13
1.2 8-Bit Gray-level Imageprint
we can first re-map image values in 0..255 into the new range 0..4 by (integer) dividing by 256/5. Then, e.g., if the pixel value is 0 we print nothing, in a 22 area of printer output. But if the pixel value is 4 we print all four dots. If the intensity is > the dither matrix entry then print an on dot at that entry location: replace each pixel by an n x n matrix of dots. The above method increasing the size of the output image If one pixel uses 44 patternthe size of an NN image becomes 4N4Nmakes an image 16 times as large!
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 14
1.2 8-Bit Gray-level Imageprint
One better methodAvoid enlarging the output image
Store an integer matrix (Standard Pattern), each value from 0 to 255 Comparing the grey image matrix with pattern, print the dot when the value greater than the grey
One 25-grey level case: left is standard, the right with grey=15
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 15
1.2 8-Bit Gray-level Imageprint
An algorithm for ordered dither, with n x n dither matrix, is as follows:
BEGIN // columns for x = 0 to xmax for y = 0 to ymax // rows i = x mod n j = y mod n // I(x, y) is the input, O(x, y) is the output, //D is the dither matrix. if I(x, y) > D(i, j) O(x, y) = 1; else O(x, y) = 0; END
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 16
1.2 8-Bit Gray-level ImagePrint
Example
Print an image (240*180*8bit) on a paper (12.8*9.6 inch) by a printer with 300*300 DPI, whats the size of each pixel (dots)? (300*12.8)*(300*9.6) = 3480*2880 dots (3840/240)*(2880/180) = 16*16=256
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
17
1.2 8-Bit Gray-level ImagePrint
Generate the output image using standard matrix
(a)
(b) Fig. 3.4: Dithering of grayscale images.
(c)
(a): 8-bit grey image lenagray.bmp. (b): Dithered version of the image. (c): Detail of dithered version.
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 18
Question?
Print an image (600*450*8bit) on a paper (8*6 inch) by a printer with 300*300 DPI, whats the size of each pixel (dots)? (300*8)*(300*6) = 2400*1800 dots (2400/600)*(1800/450) = 4*4 only 17 levels
Reduce the image size to 150*113? Reduce the gray-level from 256 to 16?
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
19
1.3 24-Bit Color ImageCase
ChangE flying to the Moon
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
20
1.3 24-Bit Color ImageFeature
Each pixel using three bytes: representing RGB
Value from 0 to 255 Supports 256256256 colors16,777,216
Each pixel described by different grey values of RGB
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
21
1.3 24-Bit Color ImageSize
640480 24-Bit Color image921.6KB
6404803 bytes
Many 24-bit color image actually stored as 32-Bit image
Extra data of each pixel used to store valueindicate the special effect informationsuch as, transparency flag
Semi-transparency image color = Source image color100% - transparency+Background image colortransparency
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
22
1.3 24-Bit Color Image
(a)
(b)
(c)
(d)
Fig. 3.5: High-resolution color and separate R, G, B color channel images. (a): Example of 24-bit color image forestfire.bmp. (b, c, d): R, G, and B color channels for this image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 23
1.4 8-Bit Color ImageCase
Also called 256-colors image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
24
1.4 8-Bit Color ImageCase
8-Bit Color Image VS 24-Bit Color Image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 25
1.4 8-Bit Color ImageFeatures
The idea of using Lookup table( palette)
An image store a set of bytesnot the real color Bytes value is the index to a 3-bytes color table Choosing what colors to put in table is important
Choose the most important 256 colors
Generated by clustering the 256256256 colors Median-cut Algorithm More accurate version of the Median-cut Algorithm
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
26
1.4 8-Bit Color Image
24-bit Color Image
8-bit Color Image
Note the great savings in space for 8-bit images, over 24-bit ones: a 640 x 480 8-bit color image only requires 300 kB of storage, compared to 921.6 kB for a color image (again, without any compression applied).
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
27
1.5 Color Lookup TablesCase
The idea used in 8-bit color images is to store only the index, or code value, for each pixel. Then, e.g., if a pixel stores the value 25, the meaning is to go to row 25 in a color look-up table (LUT).
Value as the Index to Table
Get the color values by Searching
The RGB value of the pixel
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
28
1.5 Color Lookup TablesHow to apply
Change color by adjusting the LUT
LUT less than image, with the advantage of speed Examplechange LUT Index R G B
1 255 0 0
into
Index 1
R 0
G 255
B 0
For the color index by 1, that is to convert red to green
An important applicationMedical Image
Convert the grey image into color image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
29
1.5 Color Lookup Tablesmedical image
Grey Image
Color Image-1
Color Image-2
By modifying the LUT to convert grey image into color image
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
30
1.5 Color Lookup TablesMedical image
Index 0 1 2 3 64 65 66 67 68 69 254 255 R 0 1 2 3 64 65 66 67 68 69 254 255 G 0 1 2 3 64 65 66 67 68 69 254 255 B 0 1 2 3 64 65 66 67 68 69 254 255
Index 0 1 2 3 64 65 66 67 68 69 254 255
R 0 0 0 0 0 0 0 0 0 0 255 255
G 0 0 0 0 255 255 255 255 255 255 248 252
B 0 7 15 23 255 247 239 231 223 215 248 252
Index 0 1 2 3 64 65 66 67 68 69 254 255
R 0 0 0 0 0 4 8 12 16 20 255 255
G 0 0 0 0 0 0 0 0 0 0 255 255
B 0 4 8 12 255 255 255 255 255 255 248 252
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
31
Color Printers: Dithering
Fig. 3.10 (a) shows a 24-bit color image of Lena, and Fig. 3.10 (b) shows the same image reduced to only 5 bits via dithering. A detail of the left eye is shown in Fig. 3.10 (c).
(a)
(b)
(c)
Fig. 3.10: (a): 24-bit color image lena.bmp. (b): Version with color dithering. (c): Detail of dithered version.
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 32
1.6 How to Devise a Color Lookup Table Example: 8-Bit Color Image
Humans are more sensitive to R and G than to B So R=3, G=3 and B=2
R R R G G G B B Basic Idea Clustering
Analyzing the three-dimensional histogram of RGB colors Clustering is an expensive and slow process
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
33
1.6 How to Devise a Color Lookup Table
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
34
1.6 How to Devise a Color Lookup Table Then each pixel in the image gets replaced by its 8-bit index.
Eg. R: 16, 48, 80, 112, 144, 176, 208, 240 G: 16, 48, 80, 112, 144, 176, 208, 240 B: 32, 96, 160, 224 A pixel with color [30, 129, 80] should be converted into: [16, 112, 96]
See an example
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
35
1.6 How to Devise a Color Lookup Table
Can we achieve better result?
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
36
1.6 How to Devise a Color Lookup Table
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
37
1.6 How to Devise a Color Lookup Table
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
38
1.6 How to Devise a Color Lookup Table Median-cut Algorithm
R G B
0 00 01 10
1 11
000 001 010 011 100 101 110 111
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
39
2Popular image file format
GIF JPEG BMP PNG TIFF EXIF others
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
40
2.1 GIF ImageCase
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
41
2.1 GIF Imagefeatures
GIF (Graphics Interchange Format )
Invented by UNISYS Corporation and Compuserve in 1987 Initially transmit graphical image through telephone line Not belong to any application program, presently supported by almost all relevant software
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
42
2.1 GIF Imagefeatures
Using LZWLempel-Ziv-WelchCompression Algorithm
LZW algorithm is lossless format with continuous color, compression rate about 50%
Limited to 8-bit256color image
GIF image depth from 1bit to 8bit GIF image supports 256 colors
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
43
2.1 GIF ImagefeaturesCont.
Interlacing
Decode speed fast Store in interlacing method Can Gradually Display by four passes
The GIF89a supporting animation
Storing multiple color images in one image file
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
44
2.1 GIF Image : Case Analysis
One 120*160 gif image
Offset 0 3 6 8 10 Length Contents 3 bytes "GIF" 3 bytes "87a" or "89a" 2 bytes <Logical Screen Width> 2 bytes <Logical Screen Height> 1 byte bit 0: Global Color Table Flag (GCTF) bit 1..3: Color Resolution bit 4: Sort Flag to Global Color Table bit 5..7: Size of Global Color Table: 2^(1+n) 1 byte <Background Color Index> Gif: file head information offset, length, contents GIF signature Screen descriptor Global color map Image descriptor Local color map
Raster area
11
GIF terminator Gif file format
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
45
2.1 GIF Image : Case Analysis
GIF signature GIF89a Width:120 Height:160 63
D5 11010101
separator
Image file analysis opened by Ultra-edit
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 46
2.2 JPEG Image Case
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
47
2.2 JPEG ImageFeatures
JPEGJoint Photographic Experts Group
Created by the Task Group of the International Standard OrganizationISO
Take advantage of some limitations of human vision system
JPEG achieve high rates of compression
A lossy compression method
Allow user to set a desired level of quality, or compression ratio (input divided by output)
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
48
2.2 JPEG ImageExample1
JPEG Image (1)252kB
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 49
2.2 JPEG ImageExample2
JPEG Image(2): 45.2kB
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 50
2.2 JPEG ImageExample3
JPEG Image (3): 9.21kB
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 51
2.3 BMP Image
Created by Microsoft as Windows main image formatcan store 1bit, 4bits, 8bits, as well as real color data BMP file has three storage forms:
Original data without compression, most popular Run Length Encoding: Used for 8-bits image256 colorsBI-RLE8 RLE: used for 4-bits image (16 colors) BI_RLE4
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
52
2.3 BMP Image
BMP file consists four components:
File Headtype and other information Information head of bitmaplengthwidth compression algorithms and so on PaletteColor LUT table24-bits real color image with no palette Image DataReal color image stores (R,G,B) three componentsimage with palette stores the index to the palette
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
53
2.3 BMP Image
BMP file: case analysis
128*128 lena grey image
Offset Length Contents 0 2 bytes "BM" 2 4 bytes Total size included "BM 6 2 bytes Reserved1 8 2 bytes Reserved2 10 4 bytes Offset Bytes 14 4 bytes Header size (n) 18 n-4 bytes Header (See right) 14+n .. s-1 Image data
Bitmap head format
BMP file format: offset, length, contents
Offset Length Contents 18 4 bytes Width 22 4 bytes Heiht 26 2 bytes Planes 28 2 bytes Bits per Pixel 30 4 bytes Compression 34 4 bytes Image size 38 4 bytes X Pixels per meter 42 4 bytes Y Pixels per meter 46 4 bytes Number of Colors 50 4 bytes Colors Important 54 (n-40) bytes OS/2 new xtentional fields
54
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
2.3 BMP Image
17464 Bytes
Reserved2
1078 Bytes
BMP 40 Bytes
Reserved1 BM
4,
LUT
Width:128 Height:128 Plane:1 Bits per pixel:8
Image file analysis open by Ultra-edit
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 55
2.3 Other typical image formats
PNGPortable Network Graphics TIFF Tagged Image File Format EXIFExchange Image File Others
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
56
The End
Thanks Email: junx@cs.zju.edu.cn
Class Exercises 1
Suppose we decide to quantize an 8-bit grayscale image down to just 2 bits of accuracy. What is the simplest way to do so? What ranges of byte values in the original image are mapped to what quantized values? Suppose we have a 5-bit grayscale image. What size of ordered dither matrix do we need to display the image on a 1-bit printer? Suppose we have available 24 bits per pixel for a color image. However, we notice that humans are more sensitive to R and G than to B in fact, 1.5 times more sensitive to R than to G, and 2 times more sensitive to G than to B. How could we best make use of the bits available?
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 58
Answers:
Suppose we decide to quantize an 8-bit grayscale image down to just 2 bits of accuracy. What is the simplest way to do so? What ranges of byte values in the original image are mapped to what quantized values?
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
59
Answers:
Suppose we have a 5-bit grayscale image. What size of ordered dither matrix do we need to display the image on a 1-bit printer?
Suppose we have available 24 bits per pixel for a color image. However, we notice that humans are more sensitive to R and G than to B in fact, 1.5 times more sensitive to R than to G, and 2 times more sensitive to G than to B. How could we best make use of the bits available? Ratio is 3:2:1, so use bits 12:8:4 fro G:G:B.
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring) 60
FTP ftp://mm:mm@10.214.23.79:21 Examination
Fundamentals of Multimedia Graphics and Image Data Representation (2010 Spring)
61