ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA TEORIA DE INFORMACIÓN Y CODIFICACIÓN “CÓDIGO LZW (Lempel-Zi-Wel!"#$
ROMERO MATIAS% SALAZAR FRANCISCO% ZU&A 'RYAN% GR% PROFESOR) ING% MARIA SOLEDAD *IMÉNEZ%
26-11-2018
Contenido 1. INTRODUCCIÓN...........................................................................................3 2. CAPÍTULO I. CODIGO LEMPEL ZIV.............................................................4 2.1 RESEA !ISTORICA..........................................................................4 2.2 CODI"ICACIÓN #ASADA EN DICCIONARIOS..................................4 2.3. ALGORITMO LEMPEL ZIV..................................................................$ 3. CAPITULO II. CÓDIGOS DERIVADOS DE LEMPEL ZIV.............................% 3.1. LZ&&.....................................................................................................3 3.2. LZ&'.....................................................................................................4 3.2. LZ&'.....................................................................................................4 4. CAPITULO III.................................................................................................3 4.1. E(EMPLOS DE CODI"ICACIÓN LEMPEL ZIV...................................3 4.2. APLICACIONES...................................................................................3 $. CAPITULO IV.................................................................................................3 %.1. CONCLUSIONES ) RECOMENDACIONES.......................................3 %.2. RE"ERENCIAS #I#LIOGR*"ICAS....................................................3
+% INTRODUCCIÓN% En +, ,-t,+id,d e+ /o de te-no+o0, e/ iodi,+ ,, e+ de/,o++o de +, 5id, di,i,6 t,+ e/ e+ -,/o 7e todo/ e/t8n -one-t,do/ 0,-i,/ , +,/ 9e,ient,/ te-no+:0i-,/ -oo -ot,do,/6 -e++,e/6 di/o/iti5o/ inte+i0ente/6 et-.6 ; ,/ t,o,-i:n de ,ne, on?+ine de -,+7ie tio -oo i80ene/6 @/i-,6 5ideo ento oto/ -on +o -,+ /e 9,n de/,o++,do =todo/ ,, +, -oe/i:n de d,to/ 7e eiten +, ed--i:n de+ 5o+en de d,to/ t,t,<+e/ ,, ee/ent, n, detein,d, in>o,-i:n e+e,ndo n, eno -,ntid,d de e/,-io todo ,, oi-iente ; >ie+. L, -oe/i:n e/ n -,/o ,ti-+, de +, -odi>i-,-i:n6 -;, -,,-te/ti-, in-i,+ e/ 7e e+ -:di0o e/+t,nte ten0, eno t,,o 7e e+ oi0in,+. A +, 9o, de 9,<+, de -oe/i:n 9,; 7e tene e/ente/ do/ -on-eto/6 ednd,n-i, Bd,to/ 7e /on eetiti5o/ o e5i/i<+e/ ; ento, B+, in>o,-i:n ne5, o e/en-i,+ 7e /e de>ine -oo +, di>een-i, ente +, -,ntid,d tot,+ de d,to/ de n en/,e ; / ednd,n-i,. Se tiene do/ ,+ten,ti5,/ ,, +, -oe/i:n de d,to/6 +, -oe/i:n -on edid, de in>o,-i:n o ento, B+o//; ; +, -oe/i:n /in =did, de in>o,-i:n o ento, B+o//+e//. Uno de +o/ ode+o/ /in =did,/ 7e 9, deo/t,do /e 58+ido ; ; /,do ,, +, -oe/i:n e/ e+ 7e /e <,/, en di--ion,io/6 en +o/ -,+e/ /e +een +o/ d,to/ de ent,d, ; /e </-, 0o/ de /
% CAPÍTULO I% CODIGO LEMPEL ZI, %+%RESE&A ISTÓRICA E+ ,+0oito Lee+ Zi5 >e ide,do o (,-o< Zi5 ; A<,9, Lee+6 ; <+i-,do en e+ IEEE T,n/,-tion/ on In>o,tion T9eo;6 5o+. IT?236 No 3 de ,;o de 1&&6 /i o,tion T9eo; -e+e<,do en Ronne<;6 Se-i,6 en (nio de 1&%. De/de enton-e/ e-i,o/, o /e +, 7e /e ti+i, ,, -oii en e+ >o,to de i80ene/ GI". Se t,t, de n, odi>i-,-i:n de LZ 7e6 , -o/t, de n eno ,tio de -oe/i:n6 o>e-e eo,/ en -,nto , 5e+o-id,d ; /o de eoi,6 +o 7e 9io 7e /e /,, en +o/ ode/ 7e /oot,n e+ oto-o+o V42
%%CODIFICACION 'ASADA EN DICCIONARIOS L, -odi>i-,-i:n <,/,d, en di--ion,io /,n e+ in-iio de e+,, -,den,/ de d,to/ -on ,+,<,/ -:di0o 7e identi>i-,n , e/, -,den, dento de n di--ion,io. E+ di--ion,io -ontiene n, +i/t, de /<-,den,/ ; ,+,<,/ -:di0o ,/o-i,do/ , -,d, n, de e++,/. E+ di--ion,io 7e -ontiene +,/ -,den,/ de /een-i, de +o/ =todo/ e/t,d/ti-o/6 /,n ,+,<,/ -:di0o de +on0itd >i, ; no e7ieen de +,/ e/t,d/ti-,/ de +o/ /
M./0102 3 4pli!4!i05e2 ?M=todo di--ion,io e/t8ti-o L, -odi>i-,-i:n de tio e/t8ti-, en-ent,n n, -,den, de -,,-tee/ eetido/ ,+ +ee d,to/ en n, i-,6 -oo / no<e +o indi-, /e ,ntiene e,nenteente6 en ,+0no/ -,/o/ eite +, ,di-i:n de -,den,/6 eo nn-, / e+iin,-i:n. e+ -,+ no e/ odi>i-,do d,nte e+ o-e/o de -odi>i-,-i:n6 /ino 7e /e ,ntiene de/de ,nte/ de ee, e+ o-e/o6 /e /e+e ti+i, -,ndo e+ en/,e , -odi>i-, e/ 0,nde eo >io -oo o ee+o n, ,+i-,-i:n ,, -e++,e/ 7e ,+,-en, e+ -ontenido de n +i<o en n e/,-io de ,+,-en,iento ed-ido. ?M=todo di--ion,io din8i-o L, -odi>i-,-i:n de tio din8i-, +o/ d,to/ /e e/-,ne,n de/de e+ in-iio ; +, ie, -,den, de -,,-tee/ /e e0i/t, en e+ di--ion,io. C,ndo /e en-ent, +, -,den, de -,,-tee/ e0i/t,d,6 +, e>eieo/ ,+ di--ion,io. Se -on/e5,n +,/ -,den,/ 7e /e 9,n intod-ido ,nteioente6 +o 7e eite ,di-ione/ ; /e/ione/ de -,den,/ -on>oe /e 5,;, +e;endo d,to/ de ent,d,.
%6%ALGOTIRMO DE LEMPEL ZI, E/ n ,+0oito de -oe/i:n /in =did,/6 e/ de-i 7e +, in>o,-i:n eitid, o n, >ente 5, , /e +, i/, 7e e+ e-eto e-i<, de/=/ de +, t,n/i/i:n. L, ide, en 7e /e <,/, e/ de </-, /e-en-i,/ eetid,/ dento de +o/ d,to/6 ; -,d, 5e 7e en-ent, n, de e++,/ +, e+,, o n nteo , +, on, en +, 7e -oien, +, ie, /e-en-i,6 8/ +, +on0itd 7e /e deo, e+ n@-+eo de +, ide,6 e/ identi>i-, +o 7e Lee+?Zi5 ++,, eFten/i:n eod-i<+e de n, -,den, dento de ot,. Soniendo tene n, /e-en-i, SJKK1K1K11. Poni=ndo+e t,<+,do6 de >o, 7e /e ed, 9,-e e>een-i, , -,d, e+eento de +, /e-en-i, >i8ndo/e en e+ oden en e+ 7e ,,e-e dento de e/t,. L, ie, >i+, de +, >i0, , -ontin,-i:n6 indi-, +, o/i-i:n dento de+ <>>e ; +, /e0nd, / -ontenido. Se -on/ide, +, o/i-i:n 8/ , +, i7ied, -oo ie, o/i-i:n Bo/i-i:n 1. Soniendo 7e +o/ te/ ieo/ e+eento/6 KK16 ;, 9,n /ido -odi>i-,do/6 denoin8ndo+e -oo /e-en-i, 1. A9o, /e tiene 7e -odi>i-, +o 7e /i0e K1K116 ++,,d, /e-en-i, 2. L, /e-en-i, 2 eie, o K1K1. Si /e >i, en +o 7e ;, e/t8 -odi>i-,do6 +, /e-en-i, 1 /e tiene 7e >in,+i, en K16 eo /i /e -ontin@, ent,ndo en +, /e-en-i, 2 ,9o, /e oin,+ de +, /e-en-i, 1 -on e+ in-iio de +, /e-en-i, 26 teneo/ K1K16 7e e/ i0,+ ,+ -oieno de +, /e-en-i, , -odi>i-, o /e-en-i, 2. E/ de-i +o/ e+eento/ 46 $6 % ; & de +, /e-en-i, tot,+ /on n, eeti-i:n de +o/ e+eento/ 26 36 4 ; $. Po t,nto /e -odi>i-,8n -oo n nteo , +, o/i-i:n n@eo 2 8/ n, +on0itd de 4.
FIGURA 1. Secuencia S
L, -odi>i-,-i:n /e ++e5, , -,>e de n, +on0itd e>i,d,6 n6 dento de+ -,+ /e 5,n </-,ndo /<-,den,/ ;, eetid,/ 9,-iendo /o de+ =todo de/-ito ,nteioente.
6% CAPÍTULO II% CODIGOS DERI,ADOS DE LEMPEL ZI, 6%+%LZ77 E+ ne5o ode+o de Lee+?Zi5 >e ++,,do +&& B+ /on +,/ ini-i,+e/ de // -e,doe/ ; && e+ ,o en 7e /e -e:. LZ&& o denoin,do -oo +1 e/ n -oe/o <,/,do en ,+0oito /in =did, /e ti+i,n -,ndo +, in>o,-i:n , -oii e/ -ti-, ; no /e ede ede in>o,-i:n. E+ ode+o +&& e/ ; /,do o7e e/ >8-i+ de i+eent, ; e/ <,/t,nte e>i-iente. "n-ion,iento En e/te ,+0oito e+ -odi>i-,do ,n,+i, e+ teFto -oo n, /e-en-i, de -,,-tee/6 edi,nte n, 5ent,n, de/+i,<+e -oe/t, o do/ ,te/ n <>>e de ,nti-i,-i:n 7e e/ +, o-i:n 7e e/t8 , nto de /e -odi>i-,d, ; n <>>e de <@/7ed, B+, 5ent,n, en /6 7e e/ +, ,te d:nde /e </-,n /e-en-i,/ i0,+e/ , +,/ eFi/tente/ en e+ <>>e de ,nti-i,-i:n. P,, -odi>i-, e+ -ontenido6 o ,te de =+6 de+ <>>e de ,nti-i,-i:n6 /e </-, +, /e-en-i, i0,+ en e+ <>>e de <@/7ed, ; +, -odi>i-,-i:n e/+t, en indi-, e/t, eeti-i:n -oo n, ti+et, o>>/et6 +on0itd6 -,8-te /i0iente. Donde O>>/et e/ +, di/t,n-i, de/de e+ in-iio de+ <>>e de ,nti-i,-i:n 9,/t, e+ -oieno de +, /e-en-i, eetid,. Lon0itd e/ +, -,ntid,d de -,,-tee/ eetido/. C,8-te /i0iente e/ e+ />e de ,nti-i,-i:n.
Se /, n e>io6 n o, /ii+, , n inteto -on do/ e/t,do/ 7e no/ eite /,io e/ K6 enton-e/ +o 7e 5iene e/ n <;te /in -oii. Si6 o e+ -ont,io6 e+ e>io e/ 16 enton-e/ +o 7e /i0e , -ontin,-i:n e/ n , de/+,,ientoQt,,o. A e/to/ e>io/ t,o,-i:n /,d, o e+ -oe/o ; e+ de/-oe/o. L, ot, /,+id, o/i<+e de LZ&& e/ n +ite,+6 +, -,+ e/ /i+eente n <;te /in -oii6 de ,ne, 7e +, /,+id, de LZ&& ede /e de te/ >o,/
Lite,+e/ /on /i+eente <;te/ /in -oii. P,+,<,/ -+,5e en ne/to -,/o /on ,e/ t,,oQde/+,,iento. #,nde,/ /i+eente no/ indi-,n /i +o/ d,to/ 7e 9,; , -ontin,-i:n /on +ite,+e/ o ,+,<,/ -+,5e.
FIGURA2.Cadena con salida real de un codigo LZ77
6%%LZ78 En 1&' -e,on e+ -oe/o LZ&' e/e-i,+i,do en -oe/i:n de i80ene/ Bo +, -oe/i:n de -,+7ie tio de ,-9i5o i-,-i:n -oo en +, de/-odi>i-,-i:n6 o +o 7e deeen-i, de LZ&&6 e/te ,+0oito no ti+i, nin0n, -oinid,ente eo e+ t,,o de+ di--ion,io e/t8 -e-iendo -ontin,ente d,nte e+ o-e/o de -odi>i-,-i:n6 ,:n o +, -,+ e/ n 0,n in-on5eniente. Po +o -,+ eFi/ten 5,io/ =todo/ ,, +iit, e+ t,,o de+ di--ion,io
4# De, de ,0e0, ent,d,/ ; -ontin, -oo n -odi>i-,do e/t8ti-o. 9# De/e-9, e+ di--ion,io ; ee, de/de -eo de/=/ de 7e /e 9,;, ,+-,n,do n -ieto n@eo de ent,d,/. "n-ion,iento
U/, 5ent,n, in>init, Btodo e+ en/,e o-e/,do e5i,ente M,ntiene n di--ion,io eF+-ito Gene, n , ; ,0e0, BN6D ; ,0,0, N D -oo ne5, ent,d, ,+ di--ion,io. N nteo , 8Fi, -oin-iden-i,. D :Fio /
6%6%LZW En 1'46 Te; He+-9 de Uni/;/ +o odi>i-: ,, ti+i,+o en -onto+,doe/ de di/-o do o +o t,nto6 /e ,0e0: +, ini-i,+ de / ,e++ido , +, ,<e5i,t, LZ6 +o 7e oi0in: e+ t=ino LZH. LZH e/ n ,+0oito ; 8ido t,nto ,, +, -oe/i:n -oo ,, +, de/-oe/i:n6 <,/,do en +, +ti+i-id,d de ,,i-i:n de /e-en-i,/ de -,,-tee/ en +, -,den, 7e /e dei-,. S in-iio -on/i/te en //titi ,tone/ -on n -:di0o de ndi-e ; -on/ti o0e/i5,ente n di--ion,io. C,,-te/ti-,/ "n-ion, en i-, in>o,-i:n. E/ no de +o/ ,+0oito/ 8/ o+,e/ ; /e ti+i, ,ti-+,ente en >o,to/ TI"" ; GI". D,do 7e e+ =todo de -oe/i:n LZH 9, /ido ,tent,do o Uni/;/6 e+ 7e /e ti+i, en i80ene/ PNG e/ e+ ,+0oito LZ&&6 o e+ 7e no /e ,0,n dee-9o/ de ,to. En teFto/ +,0o/6 -oie ,oFi,d,ente , +, it,d de+ t,,o oi0in,+6 en e/-en,io/ oti,/ e/ -,,/ de ed-i en n &' e+ t,,o >in,+ de n ,-9i5o /in edid,.
Con/t--i:n de+ di--ion,io E+ di--ion,io -oien, -on +o/ 2$% 5,+oe/ de +, t,<+, ASCII. E+ ,-9i5o , -oii /e di5ide en -,den,/ de <;te/ Bo +o t,nto6 ,, +,/ i80ene/ ono-o8ti-,/ -odi>i-,d,/ en 1 i-,6 -,d, n, de e/t,/ -,den,/ /e -o,, -on e+ di--ion,io ; /e ,0e0, /i no /e en-ent, ,9. Coe/i:n E+ ,+0oito ,/, o +, -,den, de in>o,-i:n ; +, -odi>i-,. Si n, -,den, nn-, e/ 8/ -ot, 7e +, ,+,<, 8/ +,0, de+ di--ion,io6 =/t, /e t,n/ite. De/-oe/i:n D,nte +, de/-oe/i:n6 e+ ,+0oito e-on/t;e e+ di--ion,io en +, die--i:n oe/t, o +o t,nto6 no ne-e/it, ,+,-en,/e. "n-ion,iento 1 Pe-,0, e+ di--ion,io -on +o/ /,/e B-on ,;o -oin-iden-i, en di--ion,io ; +, -odi>i-, -on / ndi-e 3 A0e0, ,+ di--ion,io n, ne5, ent,d, >,/e 1 /,/e/ eno/ >e-ente/ Q 5,-i, ; eini-i,
:% CAPÍTULO III% :%+% E*EMPLOS DE CODIFICACIÓN LEMPEL ZI, COMPRESION LZ77 L, -,den, e/ AAACCCDDDAAA#CCDD Tiene 1&W'J 13%
FIGURA 3.FUENTE S
#/-,o/ +, -oin-iden-i, 8/ +,0,6 en e/te -,/o +, ie, -oin-iden-i, /e d, en +, o/i-i:n & +e0o en e+ ' ; @+tio en e+ 6 e/-o0eo/ e+ o 7e e/ e+ 7e tiene +, -oin-iden-i, 8/ +,0,. AAA BVent,n, de ,5,n-e ; AAA Bde +, o/i-i:n 6 ' ; & Gene,o/ e+ ie ti+ete 7e /e, 6 36 # A9o, -oeo/ +on0itd 1 B31 o/i-ione/ ,, e/t,<+e-e +, ne5, 5ent,n, de <@/7ed, ; 5ent,n, de ,5,n-e.
FIGURA . !EC"!IFICACI#N FUENTE S
L, /<-,den, -oin-idente e/t, de/de +, 6' ; & 7e e/ CCD -on -oin-ide -on +, 5ent,n, de ,5,n-e. Gene,o/ e+ /e0ndo ti+ete 7e /e, 6 36 D ), no odeo/ de/+,,no/ 8/ o7e ;, ++e0,o/ ,+ toe de +, -,den,. E+ -oiido /e, L, 5ent,n, de #@/7ed, +o/ ti+ete/
B2W3J1$ 1$W' J 12K i-,-i:n
FIGURA $ C"!IFICACI#N FUENTE S
E+ en/,e -oiido e/ BK6 A BK6 # B26 C B36 A B26 A B46 A B%6 # En +, de-odi>i-,-i:n
FIGURA % !EC"!IFICACI#N FUENTE S
E+ en/,e de/-oiido e/ A##C#CA#A#CAA#CAA#
COMPRESION LZW En +, -odi>i-,-i:n In Ot
, K
, K
< 1
, 3
<
, $
<
,
, 2
,
FIGURA 7. ESTRUCTURA !E AR&"L FUENTE S
En +, de-odi>i-,-i:n +ee n@eo de >,/e ; 1./i e/t8 en e+ di--ion,io ?X de-odi>i-, / >,/e B/,+id, ,-t,+6 ; ,0e0, /,+id, ,nteio 1 /i-, ; ,0e0, /,+id, ,nteio 1 /
FIGURA '. !EC"!IFICACI#N FUENTE S
:%%APLICACIONES
;% CAPÍTULO I, ;%+%CONCLUSIONES Y RECOMENDACIONES E+ ,+0oito LZH o-e/, +o/ d,to/ de ent,d, ; , +, 5e n di--ion,io ,ntiene n, -oe/onden-i, ente +,/ ,+,<,/ 8/ +,0, ; n, +i/t, de 5,+oe/ de -:di0o/6 enton-e/ e/t,/ ,+,<,/ /e ee+,,n o // -:di0o/ -oe/ondiente/ -on +o 7e e+ ,-9i5o de ent,d, /e -oie. Po +o t,nto6 +, e>i-ien-i, de+ ,+0oito ,ent, , edid, 7e ,ent, e+ n@eo de ,+,<,/ +,0,/ ; eetiti5,/ en +o/ d,to/ de +, ent,d,
;%%REFERENCIAS 'I'LIOGRAFICAS htps://es.wikipedia.org/wiki/LZSS htps://en.wikipedia.org/wiki/LZ77_and_LZ78 htp://mulmedia.u!p.p"/#ode#s/#ompressao-sem-perdas/#odi$#a#ao-%aseada-emdi#ionarios/l&78/ htps://www.in#u%awe%.#om/un-po#o-de-his"oria-algori"mos-l&77-l&78-'-l&w/ htps://es.wikipedia.org/wiki/(lgori"mo_de_#ompresi)*+),+n_sin_p)*+)(rdida htps://es.wikipedia.org/wiki/*odi$#a#i)*+),+n_por_di##ionario htps://users.d##.u#hile.#l/%e%us"os/apun"es/##+001/#ompresion/ htp://aloamien"os.us.es/g"o#oma/pid/pid6/pid66.h"m htps://pre&i.#om/ddpms--pu1a/#op'-o!-#odigo-lempel-&i/ htps://programa#ion.ne"/ar#ulo/in"rodu##ion_a_la_#ompresion_de_da"os_lempel&i _g&ip_186/ htps://users.d##.u#hile.#l/%e%us"os/apun"es/##+0a/#ompresion/ htps://es.wikipedia.org/wiki/LZ htps://es.wikipedia.org/wiki/LZ34n_eemplo_simple_del_algori"mo_LZ_de_#ompresi )*+),+n
htps://www.e#ured.#u/L&77 htps://pre&i.#om/lu5l%ko&/#ompresion-l&77/ htps://riune".up.es/handle/10251/8065 htps://pre&i.#om/s%"8g!m&n/l&w-lempel-&i-wel#h-algori"mo-de-#ompresion/ htps://es.##m.ne"/#on"en"s/7+1-#ompresion-l&w