cs 128/es 228 - lecture 7a1 data – how (much of) it is stored
Post on 19-Dec-2015
223 views
TRANSCRIPT
1CS 128/ES 228 - Lecture 7a
Data – How (Much of)It Is Stored
2CS 128/ES 228 - Lecture 7a
Outline
What Is an Image Really? Methods of Storing Images How to Make a Big File Small Compression Algorithms Conversion Algorithms
In theory In practice
3CS 128/ES 228 - Lecture 7a
What is an image? An image is anything we store on
the computer that we think of as a “picture”. It should look “the same” on any display.
Image file formats GIF, JPEG, TIFF, BMP NOT shapefiles
4CS 128/ES 228 - Lecture 7a
File Formats There are many image file formats
35 on the first page I hit looking for a list!
Each has advantages and disadvantages
CS 128/ES 228 - Lecture 7a 5
GIF Developed by
Compuserve in 1987
Particularly good for line drawings (anything with sharp edges)
VERY common on web
6CS 128/ES 228 - Lecture 7a
JPEG (or JPG) Product of the Joint
Photographers Experimental Group
Good for photos, images with subtle changes
Also popular on the web
7CS 128/ES 228 - Lecture 7a
GIF vs. JPEG
JPEG GIF
Use For “Realistic” artwork Illustrations
Compres-sion
Lossy, but controllable Lossy, no control
Colors 24-bits 8-bits
Others No transparency Transparency
8CS 128/ES 228 - Lecture 7a
JPEG 2000 (aka JP2) “The JP2 and JPX file formats allow for
handling of color-space information, metadata, and for interactivity in networked applications as developed in the JPEG Part 9 JPIP protocol.”
Some imagery is now distributed as JP2 files – datum and projection included at no extra charge!
9CS 128/ES 228 - Lecture 7a
Portable Network Graphics (PNG)
PNG also stands for “PNG’s Not GIF”
Loss-less compression using non-patented algorithm
Supports transparency, but not really animation
ISO standard since 2003
10CS 128/ES 228 - Lecture 7a
BMP Bitmap format –
Primarily for Windows (but not exclusively)
NO Compression means LARGE files
Standard Screen Snapshot is BMP
11CS 128/ES 228 - Lecture 7a
EPS, PICT, TIFF
Encapsulated PostScript (mostly for printing, some display)
PICTure format (Macs only)
Tag Interchange File Format (multi-platform, but less used these days)
12CS 128/ES 228 - Lecture 7a
Shapefiles and active software A running program may read from or
write to these formats, but generally uses its own memory management while running.
Shapefiles contain shape information and are not in any of these formats – and not truly image files They are vector layers, after all
13CS 128/ES 228 - Lecture 7a
Compression Algorithms Compression
algorithms “shrink” files
May do so by mathematical “tricks” or by discarding information
14CS 128/ES 228 - Lecture 7a
Two KEY Facts about Compression
NO LOSS-LESS compression algorithm can work all the time!
NO LOSSY compression algorithm can regenerate its original data.
15CS 128/ES 228 - Lecture 7a
An LOSS-LESS ExampleRun-length compression Count and record the length of the data
set and then each group of 0’s or 1’s
1110100
1110000
1000000
3 7
0 3 1 1 2 3 4 1 6
16CS 128/ES 228 - Lecture 7a
A LOSSY ExampleTruncation
12421449030293570214935210952172590275653048282535
124 029 935725 304
12400000000290000000935000000072500000003040000000
17CS 128/ES 228 - Lecture 7a
How much does compression affect image quality?
Original (32 MB)
Compressed(493 kB)
18CS 128/ES 228 - Lecture 7a
Converting Vector to Raster Must compute the equation of the
line
Then choose which pixels to highlight
Many algorithms, but differences are technical
19CS 128/ES 228 - Lecture 7a
Typical algorithm
Y = y0 + 1
Illuminate pixel (x, int(Y))
Y = Y + 1 X = X + 1 /m
Illuminate pixel (x, int(Y))
…
Until Y == y1
X = x0 Y = y0
Illuminate pixel (x, int(Y))(x1,y1)
(x0,y0)
20CS 128/ES 228 - Lecture 7a
Anti-aliasing
Basic idea – Remove the “jaggies” by using color
variations
21CS 128/ES 228 - Lecture 7a
Conversion in practice
22CS 128/ES 228 - Lecture 7a
Converting Raster to Vector Basic idea
Find areas with sharp changes – these are your boundaries.
Adjust as topology indicates
Much harder in practice than the other way around
Alternative is hand-digitization