You are on page 1of 15

Lempel-Ziv Vizualizacija

Podatkovni
viemedijski prijenos i
raunalne mree
Autori: - Petar Juro
- Mario Srbi
- Ivor Grubii
Zato koristimo kompresiju
Koliina memorije se poveava, no ipak je
ograniena, a podaci zauzimaju sve vie
memorije pa je time kompresija vrlo poeljna
Iako ima i drugih metoda kako uinkovitije
smjestiti podatke u memoriju, kompresija je
jedna od njih
Razvoj filmske i glazbene industrije jo dugo
vremena bio bi nezamisliv bez upotrebe neke
vrste kompresija
Podjela
lossy data compression
Gubi se dio originalne informacije, ali se dobiva
velika uteda u memoriji
Koristi se kod podataka gdje je dozvoljen odreen
gubitak kao to su zvuk, video, slika
lossless data compression
Nema gubitaka informacije jer kod nekih vrsta
podataka to ne bi bilo prihvatljivo
Mali, ali vidljivi omjeri kompresije

Saetak
Do kraja 70-tih radilo se na poboljanju
Huffman algoritma kodiranja koji se temelji na
odreivanju frekvencije ponavljanja simbola te
njihovom predvianju i itanju podataka
unaprijed
1977. Abraham Lempel i Jacob Ziv predstavili
drugaiji pristup kompresiranju podataka
Ideja
Ideja je kreirati rjenik od podataka koji su
procesirani i zamijena simbola(ili niza simbola)
sa indeksima iz tog rjenika
U kompresiranom nizu imamo samo
pokazivae prema frazama u rjeniku
Postoji dvije varijante Lampel-Ziv kodiranja, a
najpoznatije su LZ77 i LZ78

Varijante Lempel-Ziv kodiranja
LZ77 varijante LZR LZSS LZB LZH
LZ78 varijante LZW LZC LZT LZMW LZJ LZFG
LZ77 koristi se najee u programima koji
kompresiraju tekst i ope podatke
LZ78 koristi se prilikom kompresiranja binarnih
podataka (slike i sl.)
Primjer Lempel-Ziv kodiranja
Vrlo uinkovito kodiranje kad se upotrebljava
na nizovima velike duine
Kod realnih nizova male duine je teko
prikazati uinkovitost
Primjer Lempel-Ziv kodiranja
Koraci:
1) Inicijalizacija rjenika, unose se blokovi duine 1
2) Traenje najdueg bloka W unutar niza kojeg
imamo unesenog u rjenik
3) Zapisati indeks bloka W u kodirani niz
4) Dodati novi zapis u rjenik koji se sastoji od bloka
W i sljedeeg znaka
5) Ponoviti korak 2
Primjer Lempel-Ziv kodiranja
Primjer Lempel-Ziv kodiranja
Nakon zavretka kodiranja, niz
abbaabbaababbaaaabaabba smo zamijenili
nizom 0110242655730 koji ima znatno krau
duinu
Dekodiranje ostvarujemo tako da pomou
rjenika zamijenimo indekse sa pripadajuim
blokovima podataka i dobijemo polazni niz
Primjer Lempel-Ziv kodiranja
Veliina rjenika teoretski bi mogla biti
beskonana, ali se ona u praksi ograniava
Kod dovoljno velikih ulaznih podataka i kad oni
imaju odreen stupanj redundancije postiu se
visoke kompresije
Primjeri programa koji koriste Lempel-Ziv
kodiranje:
Unix gzip, gunzip..
Windows WinZip, Arj, Pkzip..
Usporedba Huffman i Lempel-Ziv
kodiranja
Vrsta
podataka
Adaptivni
Huffman
Lemple-
Ziv
Tekst 66 % 44 %
Govor 65 % 64 %
Slika 94 % 88 %
Lempel-Ziv-Welch kodiranje (LZW)
1984. Terry Welch je modificorao LZ78 kako bi
ga implementirao u brze diskovne kontrolere
Koristi se u nekoliko formata za pohranu slika
kao to su GIF i TIFF, dio je V.42bis
modemskog kompresijskog standarda,
nalazimo ju PostScript Level 2 formatu

Lempel-Ziv-Welch kodiranje
Velika brzina kompresiranja i dekompresiranja
Nije potrebno prenositi rjenik, jer se rjenik
konstruira iz kodiranih podataka, a samim time
se postie jo vei stupanj kompresije od LZ78
Zakljuak
Lempel-Ziv je vrlo jednostavan i brz algoritam
te je jedan od najuinkovitijih naina
kompresiranja podataka koji poznajemo
Ima vrlo rairenu primjenu
Cijeli niz algoritama i metoda temelji se na
osnovnim principima tog algoritma i svakim
danom se nadograuje sa novim
mogunostima i modifikacijama

You might also like