SlideShare a Scribd company logo
1 of 28
Download to read offline
(LZ78Based)
   LZW Data Compression
        Algorithm

ZEESHAN SAJID        14222
MOHSIN ALI           11949
MUHAMMAD FAIZAN      12510
Table of contents
   Introduction
   LZ78 Basic Algorithm
   LZW Compression
   LZW Decompression
   Application and Implementation
   Conclusion
Data compression
  In computer science and information theory, data
   compression, source coding, or bit-rate reduction involves
   encoding information using fewer bits than the original
   representation. Compression can be either lossy or lossless.
 Lossless Compression

Lossless compression reduces bits by identifying and
eliminating statistical redundancy. No information is lost in
lossless compression.
 Lossy Compression

Lossy compression reduces bits by identifying marginally
important information and removing it. The process of
reducing the size of a data file is popularly referred to as data
compression, although its formal name is source coding (coding
done at the source of the data, before it is stored or transmitted).
LZ78 Algorithm
                                Table 1: The encoding process



       Step                         Pos                    Dictionary                   Output



           1.           1                         A                         (0,A)



           2.           2                         B                         (0,B)



           3.           3                         BC                        (2,C)



           4.           5                         BCA                       (3,A)



           5.           8                         BA                        (2,A)



Pos             1       2       3             4        5         6          7           8        9
Char   A            B       B             C       B          C          A           B        A
Introduction to LZW
   Static coding schemes require some knowledge about the
    data before encoding takes place.

   Universal coding schemes, like LZW, do not require advance
    knowledge and can build such knowledge on-the-fly.

   LZW is the foremost technique for general purpose data
    compression due to its simplicity and versatility.

   It is the basis of many PC utilities that claim to “double the
    capacity of your hard drive”

   LZW compression uses a code table, with 4096 as a common
    choice for the number of table entries.
LZW Algorithm
    LZW is a "dictionary"-based compression algorithm.
     This means that instead of tabulating character counts
     and building trees (as for Huffman encoding), LZW
     encodes data by referencing a dictionary. Thus, to
     encode a substring, only a single code number,
     corresponding to that substring's index in the
     dictionary, needs to be written to the output file.
    Lempel & Ziv is the foremost technique for general
     purpose data compression due to its simplicity and
     versatility. Typically, you can expect LZW to compress
     text, executable code, and similar data files to about
     one-half their original size. LZW also performs well
     when presented with extremely redundant data files,
     such as tabulated numbers, computer source code, and
     acquired signals. Compression ratios of 5:1 are
     common for these cases. LZW is the basis of several
     personal computer utilities that claim to"double the
     capacity of your hard drive."
Introduction to LZW (cont'd)
   Codes 0-255 in the code table are always assigned to
    represent single bytes from the input file.

   When encoding begins the code table contains only the first
    256 entries, with the remainder of the table being blanks.

   Compression is achieved by using codes 256 through 4095
    to represent sequences of bytes.

   As the encoding continues, LZW identifies repeated
    sequences in the data, and adds them to the code table.

   Decoding is achieved by taking each code from the
    compressed file, and translating it through the code table to
    find what character or characters it represents.
LZW Encoding Algorithm

1 Initialize table with single character strings
2 P = first input character
3 WHILE not end of input stream
4      C = next input character
5      IF P + C is in the string table
6       P=P+C
7      ELSE
8       output the code for P
9               add P + C to the string table
10       P=C
11      END WHILE
12 output code for P
Example 1: Compression using LZW

   Example 1: Use the LZW
    algorithm to compress the string

            BABAABAAA
Example 1: LZW Compression Step 1

BABAABAAA                             P=A
                                      C=empty
ENCODER        OUTPUT      STRING        TABLE
output code representing   codeword      string
66         B               256           BA
Example 1: LZW Compression Step 2

BABAABAAA                             P=B
                                      C=empty
ENCODER        OUTPUT      STRING        TABLE
output code representing   codeword      string
66         B               256           BA
65         A               257           AB
Example 1: LZW Compression Step 3

BABAABAAA                             P=A
                                      C=empty
ENCODER        OUTPUT      STRING        TABLE
output code representing   codeword      string
66         B               256           BA
65         A               257           AB
256        BA              258           BAA
Example 1: LZW Compression Step 4

BABAABAAA                             P=A
                                      C=empty
ENCODER        OUTPUT      STRING        TABLE
output code representing   codeword      string
66         B               256           BA
65         A               257           AB
256        BA              258           BAA
257        AB              259           ABA
Example 1: LZW Compression Step 5

BABAABAAA                             P=A
                                      C=A
ENCODER        OUTPUT      STRING       TABLE
output code representing   codeword     string
66         B               256          BA
65         A               257          AB
256        BA              258          BAA
257        AB              259          ABA
65         A               260          AA
Example 1: LZW Compression Step 6

BABAABAAA                             P=AA
                                      C=empty
ENCODER        OUTPUT      STRING        TABLE
output code representing   codeword      string
66         B               256           BA
65         A               257           AB
256        BA              258           BAA
257        AB              259           ABA
65         A               260           AA
260        AA
LZW Decompression


   The LZW decompressor creates the same string table
    during decompression.

   It starts with the first 256 table entries initialized to single
    characters.

   The string table is updated for each character in the input
    stream, except the first one.

   Decoding achieved by reading codes and translating them
    through the code table being built.
LZW Decompression Algorithm

1    Initialize table with single character strings
2    OLD = first input code
3    output translation of OLD
4    WHILE not end of input stream
5       NEW = next input code
6       IF NEW is not in the string table
7            S = translation of OLD
8            S=S+C
9      ELSE
10            S = translation of NEW
11       output S
12       C = first character of S
13       OLD + C to the string table
14       OLD = NEW
15    END WHILE
Example 2: LZW Decompression 1


    Example 2: Use LZW to decompress the
     output sequence of
              Example 1:

        <66><65><256><257><65><260>.
Example 2: LZW Decompression Step 1

<66><65><256><257><65><260>         Old = 65   S=A
                                    New = 66   C=A
    ENCODER OUTPUT               STRING TABLE
         string               codeword     string
B
A                        256             BA
Example 2: LZW Decompression Step 2

<66><65><256><257><65><260>         Old = 256 S = BA
                                    New = 256 C = B

     ENCODER OUTPUT              STRING TABLE
          string              codeword     string
B
A                        256             BA
BA                       257             AB
Example 2: LZW Decompression Step 3

<66><65><256><257><65><260>         Old = 257 S = AB
                                    New = 257 C = A
     ENCODER OUTPUT              STRING TABLE
          string              codeword     string
B
A                        256             BA
BA                       257             AB
AB                       258             BAA
Example 2: LZW Decompression Step 4

<66><65><256><257><65><260>        Old = 65 S = A
                                   New = 65 C = A
     ENCODER OUTPUT              STRING TABLE
          string              codeword     string
B
A                        256             BA
BA                       257             AB
AB                       258             BAA
A                        259             ABA
Example 2: LZW Decompression Step 5
<66><65><256><257><65><260>        Old = 260 S = AA
                                   New = 260 C = A
     ENCODER OUTPUT              STRING TABLE
          string              codeword     string
B
A                        256             BA
BA                       257             AB
AB                       258             BAA
A                        259             ABA
AA                       260             AA
Our Application and Implementation
Compression project presentation
Compression project presentation
GUI of EXE File
Compression project presentation

More Related Content

What's hot

Data Communication & Computer Networks : LZW compression method
Data Communication & Computer Networks : LZW compression methodData Communication & Computer Networks : LZW compression method
Data Communication & Computer Networks : LZW compression methodDr Rajiv Srivastava
 
Programming languages
Programming languagesProgramming languages
Programming languagesEelco Visser
 
Haskell retrospective
Haskell retrospectiveHaskell retrospective
Haskell retrospectivechenge2k
 
N_Asm Assembly arithmetic instructions (sol)
N_Asm Assembly arithmetic instructions (sol)N_Asm Assembly arithmetic instructions (sol)
N_Asm Assembly arithmetic instructions (sol)Selomon birhane
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingGuido Wachsmuth
 
Chapter 6 Flow control Instructions
Chapter 6 Flow control InstructionsChapter 6 Flow control Instructions
Chapter 6 Flow control Instructionswarda aziz
 
20141204.journal club
20141204.journal club20141204.journal club
20141204.journal clubHayaru SHOUNO
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesGuido Wachsmuth
 
Chapter 6 intermediate code generation
Chapter 6   intermediate code generationChapter 6   intermediate code generation
Chapter 6 intermediate code generationVipul Naik
 
Functional Reactive Programming by Gerold Meisinger
Functional Reactive Programming by Gerold MeisingerFunctional Reactive Programming by Gerold Meisinger
Functional Reactive Programming by Gerold MeisingerGeroldMeisinger
 
Unit 3 – assembly language programming
Unit 3 – assembly language programmingUnit 3 – assembly language programming
Unit 3 – assembly language programmingKartik Sharma
 
Ctcompare: Comparing Multiple Code Trees for Similarity
Ctcompare: Comparing Multiple Code Trees for SimilarityCtcompare: Comparing Multiple Code Trees for Similarity
Ctcompare: Comparing Multiple Code Trees for SimilarityDoctorWkt
 
Reflected code and conversion
Reflected code and conversion Reflected code and conversion
Reflected code and conversion Saumya Som
 
DConf 2016: Bitpacking Like a Madman by Amaury Sechet
DConf 2016: Bitpacking Like a Madman by Amaury SechetDConf 2016: Bitpacking Like a Madman by Amaury Sechet
DConf 2016: Bitpacking Like a Madman by Amaury SechetAndrei Alexandrescu
 
Unit 2 assembly language programming
Unit 2   assembly language programmingUnit 2   assembly language programming
Unit 2 assembly language programmingKartik Sharma
 

What's hot (20)

Data Communication & Computer Networks : LZW compression method
Data Communication & Computer Networks : LZW compression methodData Communication & Computer Networks : LZW compression method
Data Communication & Computer Networks : LZW compression method
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Optimization of dfa
Optimization of dfaOptimization of dfa
Optimization of dfa
 
Haskell retrospective
Haskell retrospectiveHaskell retrospective
Haskell retrospective
 
N_Asm Assembly arithmetic instructions (sol)
N_Asm Assembly arithmetic instructions (sol)N_Asm Assembly arithmetic instructions (sol)
N_Asm Assembly arithmetic instructions (sol)
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
 
Lex Tool
Lex ToolLex Tool
Lex Tool
 
Chapter 6 Flow control Instructions
Chapter 6 Flow control InstructionsChapter 6 Flow control Instructions
Chapter 6 Flow control Instructions
 
20141204.journal club
20141204.journal club20141204.journal club
20141204.journal club
 
Minimizing DFA
Minimizing DFAMinimizing DFA
Minimizing DFA
 
Introduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented LanguagesIntroduction - Imperative and Object-Oriented Languages
Introduction - Imperative and Object-Oriented Languages
 
Chapter 6 intermediate code generation
Chapter 6   intermediate code generationChapter 6   intermediate code generation
Chapter 6 intermediate code generation
 
Ch4c
Ch4cCh4c
Ch4c
 
Functional Reactive Programming by Gerold Meisinger
Functional Reactive Programming by Gerold MeisingerFunctional Reactive Programming by Gerold Meisinger
Functional Reactive Programming by Gerold Meisinger
 
Unit 3 – assembly language programming
Unit 3 – assembly language programmingUnit 3 – assembly language programming
Unit 3 – assembly language programming
 
Ctcompare: Comparing Multiple Code Trees for Similarity
Ctcompare: Comparing Multiple Code Trees for SimilarityCtcompare: Comparing Multiple Code Trees for Similarity
Ctcompare: Comparing Multiple Code Trees for Similarity
 
Reflected code and conversion
Reflected code and conversion Reflected code and conversion
Reflected code and conversion
 
DConf 2016: Bitpacking Like a Madman by Amaury Sechet
DConf 2016: Bitpacking Like a Madman by Amaury SechetDConf 2016: Bitpacking Like a Madman by Amaury Sechet
DConf 2016: Bitpacking Like a Madman by Amaury Sechet
 
Ch9b
Ch9bCh9b
Ch9b
 
Unit 2 assembly language programming
Unit 2   assembly language programmingUnit 2   assembly language programming
Unit 2 assembly language programming
 

Viewers also liked

Lzw compression ppt
Lzw compression pptLzw compression ppt
Lzw compression pptRabia Nazir
 
Lz77 (sliding window)
Lz77 (sliding window)Lz77 (sliding window)
Lz77 (sliding window)MANISH T I
 
Generalized Compression Dictionary Distance as Universal Similarity Measure
Generalized Compression Dictionary Distance as Universal Similarity MeasureGeneralized Compression Dictionary Distance as Universal Similarity Measure
Generalized Compression Dictionary Distance as Universal Similarity MeasureAndrey Bogomolov
 
Simple Dictionary Compression
Simple Dictionary CompressionSimple Dictionary Compression
Simple Dictionary CompressionMANISH T I
 
Data compression
Data compressionData compression
Data compressionNizar Sbaih
 
Cjb0912010 lz algorithms
Cjb0912010 lz algorithmsCjb0912010 lz algorithms
Cjb0912010 lz algorithmsRAJAN ST
 
Introduction for Data Compression
Introduction for Data Compression Introduction for Data Compression
Introduction for Data Compression MANISH T I
 
Huffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysisHuffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysisRamakant Soni
 
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHM
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHMOPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHM
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHMJitendra Choudhary
 
4 data compression
4 data compression4 data compression
4 data compressionRejin Thomas
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project reportkgaurav113
 
Chapter 5 - Data Compression
Chapter 5 - Data CompressionChapter 5 - Data Compression
Chapter 5 - Data CompressionPratik Pradhan
 
Data compression techniques
Data compression techniquesData compression techniques
Data compression techniquesDeep Bhatt
 

Viewers also liked (20)

Lzw compression ppt
Lzw compression pptLzw compression ppt
Lzw compression ppt
 
LZ78
LZ78LZ78
LZ78
 
Lzw algorithm
Lzw algorithmLzw algorithm
Lzw algorithm
 
Lz77 (sliding window)
Lz77 (sliding window)Lz77 (sliding window)
Lz77 (sliding window)
 
Data compression
Data compression Data compression
Data compression
 
Lzw
LzwLzw
Lzw
 
Generalized Compression Dictionary Distance as Universal Similarity Measure
Generalized Compression Dictionary Distance as Universal Similarity MeasureGeneralized Compression Dictionary Distance as Universal Similarity Measure
Generalized Compression Dictionary Distance as Universal Similarity Measure
 
Simple Dictionary Compression
Simple Dictionary CompressionSimple Dictionary Compression
Simple Dictionary Compression
 
Data compession
Data compession Data compession
Data compession
 
Demo lzw
Demo lzwDemo lzw
Demo lzw
 
Data compression
Data compressionData compression
Data compression
 
Cjb0912010 lz algorithms
Cjb0912010 lz algorithmsCjb0912010 lz algorithms
Cjb0912010 lz algorithms
 
Introduction for Data Compression
Introduction for Data Compression Introduction for Data Compression
Introduction for Data Compression
 
Huffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysisHuffman and Arithmetic coding - Performance analysis
Huffman and Arithmetic coding - Performance analysis
 
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHM
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHMOPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHM
OPTIMIZATION OF LZ77 DATA COMPRESSION ALGORITHM
 
Data compression
Data compressionData compression
Data compression
 
4 data compression
4 data compression4 data compression
4 data compression
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project report
 
Chapter 5 - Data Compression
Chapter 5 - Data CompressionChapter 5 - Data Compression
Chapter 5 - Data Compression
 
Data compression techniques
Data compression techniquesData compression techniques
Data compression techniques
 

Similar to Compression project presentation

Lzw compression dsa.pptx
Lzw  compression dsa.pptxLzw  compression dsa.pptx
Lzw compression dsa.pptxDeepikaPadukon
 
Digital systems logicgates-booleanalgebra
Digital systems logicgates-booleanalgebraDigital systems logicgates-booleanalgebra
Digital systems logicgates-booleanalgebraelfeds916
 
PDT DC015 Chapter 2 Computer System 2017/2018 (f)
PDT DC015 Chapter 2 Computer System 2017/2018 (f)PDT DC015 Chapter 2 Computer System 2017/2018 (f)
PDT DC015 Chapter 2 Computer System 2017/2018 (f)Fizaril Amzari Omar
 
PST SC015 Chapter 2 Computer System (III) 2017/2018
PST SC015 Chapter 2 Computer System (III) 2017/2018PST SC015 Chapter 2 Computer System (III) 2017/2018
PST SC015 Chapter 2 Computer System (III) 2017/2018Fizaril Amzari Omar
 

Similar to Compression project presentation (7)

LZW Presentation.pptx
LZW Presentation.pptxLZW Presentation.pptx
LZW Presentation.pptx
 
Lzw compression dsa.pptx
Lzw  compression dsa.pptxLzw  compression dsa.pptx
Lzw compression dsa.pptx
 
Digital systems logicgates-booleanalgebra
Digital systems logicgates-booleanalgebraDigital systems logicgates-booleanalgebra
Digital systems logicgates-booleanalgebra
 
PDT DC015 Chapter 2 Computer System 2017/2018 (f)
PDT DC015 Chapter 2 Computer System 2017/2018 (f)PDT DC015 Chapter 2 Computer System 2017/2018 (f)
PDT DC015 Chapter 2 Computer System 2017/2018 (f)
 
PST SC015 Chapter 2 Computer System (III) 2017/2018
PST SC015 Chapter 2 Computer System (III) 2017/2018PST SC015 Chapter 2 Computer System (III) 2017/2018
PST SC015 Chapter 2 Computer System (III) 2017/2018
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuit
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
 

Compression project presentation

  • 1. (LZ78Based) LZW Data Compression Algorithm ZEESHAN SAJID 14222 MOHSIN ALI 11949 MUHAMMAD FAIZAN 12510
  • 2. Table of contents  Introduction  LZ78 Basic Algorithm  LZW Compression  LZW Decompression  Application and Implementation  Conclusion
  • 3. Data compression  In computer science and information theory, data compression, source coding, or bit-rate reduction involves encoding information using fewer bits than the original representation. Compression can be either lossy or lossless.  Lossless Compression Lossless compression reduces bits by identifying and eliminating statistical redundancy. No information is lost in lossless compression.  Lossy Compression Lossy compression reduces bits by identifying marginally important information and removing it. The process of reducing the size of a data file is popularly referred to as data compression, although its formal name is source coding (coding done at the source of the data, before it is stored or transmitted).
  • 4. LZ78 Algorithm Table 1: The encoding process Step Pos Dictionary Output 1. 1 A (0,A) 2. 2 B (0,B) 3. 3 BC (2,C) 4. 5 BCA (3,A) 5. 8 BA (2,A) Pos 1 2 3 4 5 6 7 8 9 Char A B B C B C A B A
  • 5. Introduction to LZW  Static coding schemes require some knowledge about the data before encoding takes place.  Universal coding schemes, like LZW, do not require advance knowledge and can build such knowledge on-the-fly.  LZW is the foremost technique for general purpose data compression due to its simplicity and versatility.  It is the basis of many PC utilities that claim to “double the capacity of your hard drive”  LZW compression uses a code table, with 4096 as a common choice for the number of table entries.
  • 6. LZW Algorithm  LZW is a "dictionary"-based compression algorithm. This means that instead of tabulating character counts and building trees (as for Huffman encoding), LZW encodes data by referencing a dictionary. Thus, to encode a substring, only a single code number, corresponding to that substring's index in the dictionary, needs to be written to the output file.  Lempel & Ziv is the foremost technique for general purpose data compression due to its simplicity and versatility. Typically, you can expect LZW to compress text, executable code, and similar data files to about one-half their original size. LZW also performs well when presented with extremely redundant data files, such as tabulated numbers, computer source code, and acquired signals. Compression ratios of 5:1 are common for these cases. LZW is the basis of several personal computer utilities that claim to"double the capacity of your hard drive."
  • 7. Introduction to LZW (cont'd)  Codes 0-255 in the code table are always assigned to represent single bytes from the input file.  When encoding begins the code table contains only the first 256 entries, with the remainder of the table being blanks.  Compression is achieved by using codes 256 through 4095 to represent sequences of bytes.  As the encoding continues, LZW identifies repeated sequences in the data, and adds them to the code table.  Decoding is achieved by taking each code from the compressed file, and translating it through the code table to find what character or characters it represents.
  • 8. LZW Encoding Algorithm 1 Initialize table with single character strings 2 P = first input character 3 WHILE not end of input stream 4 C = next input character 5 IF P + C is in the string table 6 P=P+C 7 ELSE 8 output the code for P 9 add P + C to the string table 10 P=C 11 END WHILE 12 output code for P
  • 9. Example 1: Compression using LZW Example 1: Use the LZW algorithm to compress the string BABAABAAA
  • 10. Example 1: LZW Compression Step 1 BABAABAAA P=A C=empty ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA
  • 11. Example 1: LZW Compression Step 2 BABAABAAA P=B C=empty ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA 65 A 257 AB
  • 12. Example 1: LZW Compression Step 3 BABAABAAA P=A C=empty ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA 65 A 257 AB 256 BA 258 BAA
  • 13. Example 1: LZW Compression Step 4 BABAABAAA P=A C=empty ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA 65 A 257 AB 256 BA 258 BAA 257 AB 259 ABA
  • 14. Example 1: LZW Compression Step 5 BABAABAAA P=A C=A ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA 65 A 257 AB 256 BA 258 BAA 257 AB 259 ABA 65 A 260 AA
  • 15. Example 1: LZW Compression Step 6 BABAABAAA P=AA C=empty ENCODER OUTPUT STRING TABLE output code representing codeword string 66 B 256 BA 65 A 257 AB 256 BA 258 BAA 257 AB 259 ABA 65 A 260 AA 260 AA
  • 16. LZW Decompression  The LZW decompressor creates the same string table during decompression.  It starts with the first 256 table entries initialized to single characters.  The string table is updated for each character in the input stream, except the first one.  Decoding achieved by reading codes and translating them through the code table being built.
  • 17. LZW Decompression Algorithm 1 Initialize table with single character strings 2 OLD = first input code 3 output translation of OLD 4 WHILE not end of input stream 5 NEW = next input code 6 IF NEW is not in the string table 7 S = translation of OLD 8 S=S+C 9 ELSE 10 S = translation of NEW 11 output S 12 C = first character of S 13 OLD + C to the string table 14 OLD = NEW 15 END WHILE
  • 18. Example 2: LZW Decompression 1 Example 2: Use LZW to decompress the output sequence of Example 1: <66><65><256><257><65><260>.
  • 19. Example 2: LZW Decompression Step 1 <66><65><256><257><65><260> Old = 65 S=A New = 66 C=A ENCODER OUTPUT STRING TABLE string codeword string B A 256 BA
  • 20. Example 2: LZW Decompression Step 2 <66><65><256><257><65><260> Old = 256 S = BA New = 256 C = B ENCODER OUTPUT STRING TABLE string codeword string B A 256 BA BA 257 AB
  • 21. Example 2: LZW Decompression Step 3 <66><65><256><257><65><260> Old = 257 S = AB New = 257 C = A ENCODER OUTPUT STRING TABLE string codeword string B A 256 BA BA 257 AB AB 258 BAA
  • 22. Example 2: LZW Decompression Step 4 <66><65><256><257><65><260> Old = 65 S = A New = 65 C = A ENCODER OUTPUT STRING TABLE string codeword string B A 256 BA BA 257 AB AB 258 BAA A 259 ABA
  • 23. Example 2: LZW Decompression Step 5 <66><65><256><257><65><260> Old = 260 S = AA New = 260 C = A ENCODER OUTPUT STRING TABLE string codeword string B A 256 BA BA 257 AB AB 258 BAA A 259 ABA AA 260 AA
  • 24. Our Application and Implementation
  • 27. GUI of EXE File