CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

22
CS 128/ES 228 - Lecture 7a 1 Data – How (Much of) It Is Stored
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    5

Transcript of CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

Page 1: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

1CS 128/ES 228 - Lecture 7a

Data – How (Much of)It Is Stored

Page 2: CS 128/ES 228 - Lecture 7a1 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

Page 3: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 4: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 5: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 6: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 7: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 8: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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!

Page 9: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 10: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 11: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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)

Page 12: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 13: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

13CS 128/ES 228 - Lecture 7a

Compression Algorithms Compression

algorithms “shrink” files

May do so by mathematical “tricks” or by discarding information

Page 14: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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.

Page 15: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 16: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

16CS 128/ES 228 - Lecture 7a

A LOSSY ExampleTruncation

12421449030293570214935210952172590275653048282535

124 029 935725 304

12400000000290000000935000000072500000003040000000

Page 17: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

17CS 128/ES 228 - Lecture 7a

How much does compression affect image quality?

Original (32 MB)

Compressed(493 kB)

Page 18: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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

Page 19: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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)

Page 20: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

20CS 128/ES 228 - Lecture 7a

Anti-aliasing

Basic idea – Remove the “jaggies” by using color

variations

Page 21: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

21CS 128/ES 228 - Lecture 7a

Conversion in practice

Page 22: CS 128/ES 228 - Lecture 7a1 Data – How (Much of) It Is Stored.

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