Documente Academic
Documente Profesional
Documente Cultură
Algoritmul de compresie Lempel Ziv este de tipul variabil bloc. Sunt mai multe
versiuni ale acestui algoritm, iar n cele ce urmeaz vor fi prezentate dou versiuni ale
sale. ntr-una dintre cele mai cunoscute versiuni codorul mparte irul simbolurilor
generate de surs n subiruri de lungime variabil, dar fr s depeasc o lungime
maxim impus.
Subirurile sunt memorate n dicionarul codorului, n ordinea n care au fost
create, fiecrui subir corespunzndu-i un pointer. Un nou subir (intrare n dicionar) se
creeaz cutnd n dicionar cel mai lung subir care este identic cu nceputul datelor
care ateapt s fie codate (subir rdcin) i apoi adugnd la acest subir urmtorul
simbol de date, numit simbol de inovare.
Decodorul alctuiete un dicionar identic, pe baza pointerului primit, care
corespunde unui subir, deja existent n dicionar i a simbolului de inovare. Fiecare
nou subir este astfel transmis prin pointerul corespunztor subirului rdcin i
simbolul de inovare.
Dicionarul se iniializeaz cu subirurile formate dintr-un singur simbol. n
principiu dicionarul tinde s devin din ce n ce mai mare i, n mod corespunztor, i
pointerul tinde s devin mai lung. Este necesar o procedur, folosit att de codor ct
i de decodor, pentru a elimina din dicionar irurile rar folosite.
Tabelele 8.1 i 8.2 prezint exemple de aplicare a algoritmului pentru un ir de
simboluri binare (00101100010111010101) i pentru un ir de simboluri dintr-un
alfabet cu patru simboluri distincte (notate a, b, c i d: aabddacbccabc) i
reprezentate n binar prin 00,01, 10 i 11.