LZW Encoding

38
Robert Sedgewick and Kevin Wayne Copyright © 2005 http://www.Princeton.EDU/~cos226 LZW Encoding The input message was taken from: http://www-mtl.mit.edu/Courses/6.095/notes/LZW- examples.html

description

LZW Encoding. The input message was taken from: http://www-mtl.mit.edu/Courses/6.095/notes/LZW-examples.html. Input. Send. LZW Encoding. SEND. 256. i. 105. t. 116. Dictionary. t. 116. Index. Word. Index. Word. y. 121. 0. 258. it. _. 32. …. 259. tt. b. 98. i. 32. _. - PowerPoint PPT Presentation

Transcript of LZW Encoding

Robert Sedgewick and Kevin Wayne • Copyright © 2005 • http://www.Princeton.EDU/~cos226

LZW Encoding

The input message was taken from:http://www-mtl.mit.edu/Courses/6.095/notes/LZW-examples.html

2

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

3

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

4

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

it

5

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

tt

6

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

ty

7

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

y_

8

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

_b

9

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

bi

10

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

itt

11

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

ty_

12

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

_bi

13

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

it_

14

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

_bin

15

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

16

LZW Encoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

17

105

Send

116

116

121

32

98

258

260

i

Input

t

t

y

_

b

t

t

y

_

262b

i

258t

i

_

266

b

i

110n

257STOP

256SEND

LZW Encoding

Words

Original

Message

18

Compression Achieved

Bits / word

8

Total

144

LZW message 14 9 126

Robert Sedgewick and Kevin Wayne • Copyright © 2005 • http://www.Princeton.EDU/~cos226

LZW Decoding

19

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

20

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

21

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

22

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

23

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

24

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

25

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

26

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

27

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

28

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

29

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

30

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

31

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

32

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

33

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

34

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

35

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

36

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

37

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND

38

LZW Decoding

Word

_

a

b

z

0

Index

32

97

98

122

SEND

256

STOP257

it

Word

tt

ty

y_

_b

bi

ty_

_bi

it_

_bin

258

Index

259

260

261

262

263

265

266

267

268

itt264

Dictionary

105

Received

116

116

121

32

98

260

262

i

Input

t

t

y

_

b

t

t

y

_

258

b

i

t

258 i

266 _

b

i

110 n

257 STOP

256 SEND