• No se han encontrado resultados

Modelos y técnicas para comprimir datos en computadores

N/A
N/A
Protected

Academic year: 2020

Share "Modelos y técnicas para comprimir datos en computadores"

Copied!
13
0
0

Texto completo

(1)ARTICULOS TECNICOS. MODELOS Y TECNICAS PARA COMPRIMIR DATOS EN COMPUTADORES. Rafael OrUz Barbosa BIng M Sc. RESUMEN. Esle articulo presenta una IntroducclOn a algunos modelos cuyo obleto es reduClr la canlldad de memoria necesana para almacenar datos en computadores y el tlempo necesano para transmltJrlos Presenta la termlnologla utlllzada en compreslOn de datos, y algunas clasilicaciones de los modelos de compreslon Se lIustra un modelo est~tlCo y tres dln~mlcos con la descnpclOn del algontmo y ejemplos senClllos adem~s se presentan algunos detalles sabre la ImplementaclOn y resultados Palabras Claves Adlclonales Sistemas de informaCIOn, bases de datos algommos, arbol blnano. ABSTRACT Models and tecmques to compress data In computers ThiS paper presents an introduction to some methods to reduce the amount of memory needed to store data on computers and to reduce the amount of time to transmit It It presents the terminology on data compression and some claSSificatIons of the models One static model and three dynamiC models are descnbed Wlth thelT algonthms and examples beSides some details on ImplementatIon and results are presented Addl\lonal Key Words tnformatlon Systems, Data Bases Algonthms BInary Tree. DivisiOn de Blomelrfa. A A 151123 Eldorado. Santaf6 de Bogot~. 0 C. 305.

(2) REVISTA leA, Vol. 27, Julio - ScpUcmbrc 1992 La compresl6n de datos es una t{lcnlca aphcable en amblentes don de se almacena o transmlte grandes volumenes de ,"formacl6n Es el caso de los ban cos y bases de datos producldos en el sector agropecuano, tales como anahsls de suelos, rnsumos agrlcolas reglstros anrmales y chmatologla, en el sector fmanclero estan las transacclones bancanas y presupuestos, en el de salud las hlstorras clfnrcas y en los medlos de comunrcacI6n el video dIgItal. LoS datos son codlflcados 0 empaquetados para ser almacenados a transmltldos y luego reconstrurdos para que sean usados Los datos compTlmldos 0 empaquetados ocupan menos espacro y ademas su transmlslOn toma menos tlempo [1] La compresl6n de datos tambH~n se usa para encnptar la rnformaclon. en este caso el cOdlgo se cambia en una forma secreta para eVItar el acceso a la informacion ongmal. La elecclon del m~todo de compreslon depende del tipO de datos programas fuente escrrtos en dlferentes lenguajes, texto. bases de datos graflcas Imagenes estatlcas y en movlmrento datos analogos etc La eflclencla del m{ltodo depende del tamalio del archlvo compnmldo y de la velocrdad de com presion. En este articulo se Introducen algunos de los metodos mas conocldos para compnmlr datos sus caracterrstlcas e Implementaclon Se presenta un resumen de la termlnologla utllrzada en compreslon y las ClaSlflcaClones de los metodos. 306. TERMINOLOGIA Y CLASIFICACION DE METODOS EN COMPRESION DE DATOS. TERMINOLOGIA. EXlsten vanas clases de datos que se pueden compnmlr y se refleren a "cadena" de caracteres, reglstro, archlvo, texto 0 en una forma mas general "entrada" 0 fuente [21 Estos 'IPOS de datos son las fuentes que ahmentan el compresor con caracteres 0 srmbolos baJo un alfabeto especlflco Alfabeto es un conJunto flMO de srmbolos a caracteres, el alfabeto espanol esta compuesto de 27 letras mlentras que el alfa be to blnano esta constltuldo par los slmbolos (0,1) RelacI6n de CompresI6n es la relaclon entre el tamano de la salida compnmlda y el tamano orrglnal de la fuente 0 "entrada", sm embargo algunos autores prefleren la relaclon de compresl6n como la relaclon del tamano anginal menos el tamano de la salida sobre tamano ongmal (esto tam bIen es conocldo como reducclOn) La unrdad para expresar la relaclon de compreslon, m~s usada es bits por caracter (bits/caract) Compres.6n de Datos 0 Empaquetamlento es un proceso Que codlflca 0 mapea "cadenas" de un alfabeto fuente a secuenctas de un COdlgO de salida para obtener un volumen de datos reducldo, este proceso se ejecuta en forma tal que la Informacl6n se conserva y puede recuperarse en su forma onglnal [1,4] Codlf.cacl6n es el proceso de convertlr una cadena de caracteres en un C(ldlgO, decod.f.cacI6n es el proceso de revertlr el c6dlgo para obtener el mensaje onglnal 8ell et al (1989) [21 define codlflcaclon como /a.

(3) ORTIZ R., B. Compresl6n de datos en computadores. tarea de representar un sfmbolo can probablhdad P en aproxlmadamente ·log(P) bits, el codlficador lIene la tarea de aSlgnar probabllrdades que controlen la aslgnacl6n del c6dlgo de la slgulente cadena 0 carae· ter EI modelamlento aSlgna probabilldades a los sfmbolos que vlenen de la fuente 0 "mput" y la codlficac/6n conv/erte estas pro· bab/hdades a una secuencla de bits Un sfmbolo cuya probabJlldad de ocurrencIa es P, es representado en ·log(P) bits, en esta forma. un srmbolo con una alta probablhdad es codlficado en pocos bits y VI· ceversa Entropra es la medlda del orden de mag· mtud de los sfmbolos y su valor est~ dato por la expresI6n -I;P,-log(PI), la entropla es· tlma la longltud esperada de un e6dlgo porque es el promedlO de las longItudes de los posibles srmbolos Las meJores entroplas son obtemdas de modelos en los cuales las probablhdades son estlmadas can alta preclsl6n Por eJem· pia, la longltud del eOdlgo de una letra en un texto puede tener mas bits 51 no se co· noce la probablhdad de esa letra en ese texto, sm embargo. los modelos dmamlcos pueden ajustar las probablhdades de los sfmbolos durante el proceso de eoolflcaclOn para optlmlzar la eompresI6n METODOS DE COMPRESION Y SU CLASIFICACION La elaslflcaclOn de los m~todos de com· presIOn depende de la longltud del cOdlgo, de la forma de recuperaclOn de los datos y de la clase de datos a compnmlr La Ta· bla 1 presenta un resumen de elasltlcaCIO' nes reportadas en la IIteratura Una pnmera elaslfleaclOn conslste en dl-. vldlr los matodos en recuperaclOn parcial y total [2, 4) La recuperaclOn parcial a Irr~· verslble se usa especial mente en datos ana. IOglcos y de Imagenes, eJ tamana frSICO del data se reduce y solo se preserva la parte mas Importante de la informacIOn, en este proceso no es poslble recuperar todos los datos como estaban ongrnalmente La com· presIOn can recuperaclOn total 0 reverSible se usa pnnclpalmente en texto porque en esta ~rea es rmportante mantener los datos ong,"ales para ser tnterpretados par el usuano. en este caso la recuperaclOn de los datos ongmales es mas Importante que la mlsma compreslOn Una segunda claslflcaclOn divide los m~· todos en longltud flja y longltud vanable EXlsten vanas combrnaclones que depen· den de la longltud del texto fuente y del c6. dlgo utlllzado De acuerdo can la longltud eXlsten cuatro metodos MSlcos [2] bloque a bloque, bloque a van able, vanable a blo· que y vanable a van able EI bloque a bloque es un matodo para fuentes de longltud flja can cMlgos de Ion· gltud fiJa bloque a vanable es un metoda para fuentes de longltud flja y cOdlgo de Ion· gltud vanable, y asi suceslvamente La Tabla 2 muestra un ejemplo de compreslOn bloque a bloque para la cadena de carae· teres "mm nnn 0000 ppppp qqqqqq rrrrrrr" y la Tabla 3 presenta un ejemplo de com· presIOn vanable a vanable EI proceso de codlficar un mensaJe can longltud fija es mas sencillo que uno de Ion· gltud vanable porque este reqUiere un se· gUlmlento mas compl1cado para sul jlvldlr las cadenas de caracteres y palabras En CodlflcaclOn vanable·vanable el codlficador y el decodrflcador deben reconocer el co· mlenzo y el fmal de cad a palabra y el cO· dlgo correspondlente, mlentras que en bloque-bloque e\ procedlmlento es mas senCIlia porque cada palabra y su c6dlgo tie· 307.

(4) REVISTA leA. Vol. 27. Julio - Scptiembrc 1992 TABLA. 1. Claslflcacl6n de "'~Iodos pom Compresl6n de Oalos.. CLASIFICACION DE METOD OS. PARAMETROS. 1. I Segun recuperacl6n de Datos Orlglnales. 2 1 2 3. II Segun la longltud del Mensale y al C6dlgo. 4 1. III Segun al acceso al Modelo por 61 Decodiflcador. 2 3 1. IV General. 2. TABLA 2. Fuente. TABLA 3. Un Ejemplo de Compresl6n Bloque. a Bloque. m. n. o. p. q. r. .... (blanco). 000. 001. 010. 011. 100. 101. 110. Un Elemplo de Compresl6n Variable a Vanab!e. Fuente. .. "(blanco). mm. nnn. 0000. ppppp. qqqqqq. rmrrr. COdlgo. o. 00. 010. 11. 100. 1010. ,011'. nen una longltud flja Usual mente los c6dlgos de longltud variable son mas ef,clentes, por eJemplo, 51 la tabla 2 se usa para codlhcar /a cadena refenda, el mensaJe compnmldo requenrla 96 bits = 32 c6dlgos de 3 bits cada uno, SI por el contrano se. 308. RecuperaclOn parcial RecuperaclOn total Bloque a 810que (1110 a fijo) Bloque a Variable Vanable a Bloque Variable a Variable EstaUco Semi DlnAmlco DmAmlco 0 Adaptable Estadistlco Dlcclonano. usa la Tabla 3, el c6dlgo que resulta contlene umcamente 24 bits Una tercera claslfrcacI6n d,vrde los metodos en estatlCOS, semldlnamrcoS y dlnamrcos.

(5) ORTIZ R., B. Compresl6n de datos en computadores. Las modelos estatlcos us an el mlsmo m{!todo de compreslon para dlferentes fuentes, los c6dlgos 5e deCiden cuando el coc:lIflcadar es mstalado y permanece Igual durante el proceso de compreslon, el decodlflcador debe tener una copla Id~ntlca del codlgo En general, los modelos estatlcos efectuan dos recorndos sobre el mensaJe, una para obtener probabJlldades de las cadenas a Ietras y asl establecer el codlgo, y otra para aphcar ese cod/go al mensaJe Para eVltar los dos recorndos es poslble aSlgnar cadigos tomando frecuenclas de las cadenas de caracteres de acuerdo a la expenenCla con textos 0 mensajes similares La Idea en este caso es aSlgnar cOdlgos mas cortos a las cadenas con probablhdades mas altas [2.4). Los modelos seml-dmc§mlcos usan dlferentes m{!todos para cada texto, se toma una muestra del texto a mensaJe Yse construye un modelo de compreslon antes de la IniClaCIOn del proceso de codlflcaclon En los mode/os seml-dlnc§mlcos allgual que en las estc§tlcos el modelo debe transmltlrse al decodlflcador. Los modelos dmamlcos hacen solo un recorndo sobre el texto y el codlgo es adaptado dt.rante el proceso de Codlflcaclon Los modelos dmamlcos eVltan el problema de transmltlr el algontmo porque tnlclalmente tanto e/ codlflcador como el decodlflcador adoptan un modelo simple para establecer la coordlnaclon, durante la transmlSIOn el codlflcador usa e1 modelo ongmal para transmltJr la pnmera cadena, el decodlflcador decodlflca esa cadena usando e1 mlsmo modelo, luego, ambos actuahzan sus modelos en la mlsma forma de acuerdo con procedlmlentos establecldos prevJamente, de esta manera la slgUiente "cadena" 0 slmbolo es codlflcado y decodlflcado usando el nuevo modelo. EI modelo es aJustado dlnamlcamente y asl el codlgo para una "cadena" cambia constantemente, de esta forma el modelo fmal obtenrdo esta ajustado al texto 0 fuente que esta slendo compnmldo Una caracte. rlstlca Importante de los modelos dmc1mlcos es que e\ modelo no se transmlte en forma expllclta EXlste otra claslflcaclon de tlpO general la cual divide los metodos en estadistlcos y de dlcelonano Los modelos estadfstlcos usan probablltdades que se aSlgnan a cada sfmbolo y como resultado los slmbolos con probablhdades mas altas tlenen c6dlgos mt1s cortos La tecntca utlhzada por compresIOn de dlcclonano conslste en aSlgnar un codlgo a un grupo de caracteres conse· cutiVOS. 1a cadena 0 frase representada por ese cOdlgo se almcena en un dlcclonano el cual es una hsta de "cadenas" que pue· den ser representadas en el texto fuente [2) MODELOS PARA COMPRIMIR DATOS. Los modelos estatlcos y dtnamlCos, cIasif/cados segun el acceso al modelo por el decodlflcador. son muy conocldos en el ~rea de compreslOn de datos y sus caracter(stlcas mas sobresahentes se presentan a con· tlnuaclon. MODELOS ESTATICOS. Dentro de los modelos estatlcos, se presenta et COdlgo EStatlCO de Huffman el cual representa en forma ampha las cara terlstlcas de estos modelos EI COdlgO antmetlco tambll~m es un buen prototlpo estatlco. Chol (1989) 4) 10 estudla cUidadosamente C6dlgo estatlco de Huffman. EI codlgo de Huffman se propuso en 1952 y es un PIDnero en model os de compreslon de datos 309.

(6) REVISTA leA, Vol. 27, Julio - Septfcmbre 1992 [4, 9] EI m~todo de Huffman est~ etaslfi·. eado como bloque-bloque el cual aslgna c6dlgos m~s cortos a los sfmbolos de mayor freeuencia en la fuente Para comprrmlr un texto esle modelo ejecuta el slgUiente pro· ceso - Lee el texto para encontrar la frecuencla de cad a caracter - Claslfica los caracteres por su probablli-. dad - Toma las dos probabllldades m~s pequenas para construrr un ~rbol binano, estos dos elementos son hljos de un nuevo nodo cuyo peso es la suma de los dos pesos 0 probabllldades tomadas - Inserta el nuevo peso en la hsta ybarra los dos elementos que fueron combinadas - EI algontmo continua hasta que se construya un ~rbol brnano, este 4rbol contlene todos los srmbolos 0 caracteres al ",vel de las hOJas, los nados que no son hOjas contlenen los pesos 0 probabllldades de sus hljoS La FIgura 1 presenta la tabla de probablhdad y el ~rbol brnarro para los sfmbolos 'a', 'b', 'c 'd', 'e' y 'f', de un texto fuente particular A los nodos Internos del ~rbol final se les asrgna valores de 0 y 1 0 a /a IzqUlerda y 1 a la derecha, en esta forma un cO(lIgo para una palabra 0 sfmbolo es el producto de una concatenaCIOn de ceros y unos desde /a rafz del ~rbol t. ,. EI c6<:1Igo de Huffman lee el texto fuente dos veces una para determlnar la frecuencIa de cada caracter y la otra para substrtUlr los c6dlgos aSIgnados a los caracteres onglnales, la tabla de c6dlgos es escnta can el archlvo comprrmldo Para decodrflcar el mensaJe 0 reconstrUir el archlvo ongrnal, el arbol brnarro es constrUldo en la mlsma forma. 310. EI c6digo de Huffman tlene una caracterfstica importante la cual es /lam ada "Resrncro",zacI6n automatlca" Si un grupo de bits se altera durante 0 despu~s de la com presiOn, el decodlficador reproduce al· gunos sfmbolos err6neos pero r~pldamente puede srncronrzar la decodlficacl6n y reproduclr correctamente el resto del mensaje o texto Choi (1989) [4] presenta el modelo probablllstlco y el analrsls de este proceso automatlco que es Onlco en el C6dlgo de Huffman Modelos. din~mlcos. Los model os dlnamlCOS conslderados en este artrculo son COdlgo Dlnamlco de Huffman, M~todo de Zlv-Lempel y MTF - Movrmlento al Frente de Bentley et al C6digo din~mico de Huffman: EI c6dlgo drnamlco de Huffman puede varrar las probablhdades durante el proceso de codlficacIOn y decodlflcacI6n, reqUlere solo un recorrrdo para compnmlr el mensaje, a drferencla del c6dlgo estatlco que efectOa dos recorrrdos Esta facllldad es especlalmente Otll cuando la fuente tlene bloques de dlferentes caracterfstlcas en tal forma que las probablhdades generales no son representatlvas EI c6drgo drn~mlco de Huffman codlfica una palabra usando el arbol de ceros (0) y unos (1) construrdo a partir de las freeuencras de palabras anterrores Para la pnmera palabra el m~todo comlenza con un ~rbol balanceado en altura construrdo con el aifabeto del mensaje, y continua utJllzando las frecuencras de un conJunto reClente de mensajes. Las probablhdades se deben actualizar cuando clerto numero de sfmbolos taman una fraccl6n cada vez mas pequeM de la.

(7) ORTIZ R. t B. Compresi6n de datos en computadores. srmbolo. Freeuer'lela. Probabllldad. a. 120. 024. b. 110. 022. Probabllldades Combinadas. C. 100. 020. d. 80. 016. e. 50. 0 1 ° T 018T034 008 016 024. 40. 020. 022 020. 022. T. 042 034 024. 024. 042. 02/. Y. y. 10. ~022. ~05a. 024/°/. ~034. ! "". (a). ~018. 016;1 (d). 008/ (I). COdlgos a =10. 058. 042. 10. (b). (e). =r. ~010 (e). d=110. b=Ol. 6=1111. c=OO. 1= 1110. FIGURA 1 Construecl6n del C6dlgo de Huffman. probablhdad total y el proeeso de Codlflcacl6n se torn a lento Para actuahzar las probablhdades este metodo multlplrca cada frecuencla aeumulada por una constante c cuyo Intervalo es (0 ~ c <1). usualmente c = 0 5. esto se efectua despues de cada n-eslmo mensaje [4. 71. La relacl6n M = N/(1-c). donde N es el numero de mensales codlficados y c la constante menclOnada, muestra como el modelo se adapta a los camblos del mensaje fuente SI Mcreee. el modelo tlene que "recordar" mas sfmbolos del mensaje, 51 M es pequeno, el modelo "recuerda·' unt311.

(8) REVISTA (CA, Vol. 27, Julio - Septiembre 1992 camente los s!mbolos m~s reclentemente usados y eso slgmflca que los cOdlgos est~n camblando r~pidamente Aunque este modelo no tiene en cuenta las correlaclOnes entre los slmbolos, sl responde a la locahdad del mensaJe, el cod Ificador y decodlflcador est~n camblando los cMlgos y se est~n adaptando al mensaJe porque las frecuenclas acumuladas son usadas para codlficar 0 decodlflcar el SIgurente s!mbolo en el mensaje Una de las formas m~s f~clles de Implementar el cOcilgo dln~mlco de Huffman es construrr un "arbol de Huffman" despu~s de leer cada slmbolo del texto, usando las frecuenclas acumuladas hasta ese momento EXlsten dos form as de construrr este ~rbol a) msertando las nuevas frecuenclas al comlenzo de la hsta claslflcada 0 b) msertandolas al fmal de la hsta En el caso (b) el arbol es desbalanceado y esto puede onglnar un cOdlgo muy grande para los slmbolos que aparecen al ",vel de las hOjas como se observa en la Figura 1 51 por ejemplo el tamaflo del alfabeto conslderado es 256, el caso (a) produce un cOdlgo cuya longltud mru(Jma es log2 (256) = 8 brts, mientras que en el caso (b) la longltud es 256 10 cual no es aceptable para com presIOn de datos SIO embargo, esta tecnrca de reconstruar permanentemente el arbol no es practlca y tamblen es costosa en termtnOS de t1empo En este metodo hay dos aspectos baSICOS la tabla de probablhdades (0 frecuenclas) y el arbol btnano, ambos son actuahzados conttnuamente La actuallzacIOn del arbol no es tan sencllJa como la de la tabla, en la seccl6n 4 se presentan algunos detalles acerca de la ImplementaclOn de este metodo La Figura 2 presenta un ejemplo de esta tecnrca, el alfabeto conslderado es (M, N. 312. 0, p, a, A, S, T) y el mensaje a comprlmlr es "NO", observe como los cOdlgoS y las probablhdades son cambrados dtn~mlca­ mente Metoda de Ziv-LempeJ: Entre los modelos dmamlcos de dlcclonarlo se consldera el Metodo de Zlv-Lempel, aqul las palabras son reemplazadas con un apuntador al lugar donde han ocurndo prevtamente en el mensaJe fuente Para decodlficar un mensaje la tarea consiste en reemplazar los apuntadores par el texto al cual elias apuntan EI apuntador puede ser representado como una pareja em, n), donde m indica la POSIcIOn de comlenzo de n caracteres en el mensaJe de entrada [2] Por eJemplo, para /a cadena "bccaaa" (3, 3) se refiere al ter· cer, cuarto y qUinto caracteres (caa) Can esta notaclOn la cadena campi eta podrfa ser codlflcada como "bcca(4, 1)(4, 1)", ademas esta notaclOn puede ser recurslva Otra tecnlca para apltcar este metoda durante la compresI6n del mensaJe es el chequeo repetldo hasta encontrar la "cadena" mas larga reconoclda que eXlsta en la ta· bla, el mensaje fuente es anahzado lexlcograflcamente hasta que la parte analtzada no se encuentre en la tabla de sfmbolos, que contlene I",clalmente solo caracteres Cada vez que et algontmo de anahsis tom a la "cadena" mas larga reconOClda mas un caracter, adlClona este nuevo caracter a la tabla de srmbolos con un cOdlgo especrfico Para elemplanzar este m~todo, en la Tabla 4 se presenta el caso de /a CodlflcaclOn del mensaje "efefmfefe" I",clalmente todos los caracteres (e,t y m) se cargan en la tabla con los Indices (1 ,2,3) respectlvamente EI primer chequeo se efectua hasta la prtmera "f" porque "e" es la cadena mas larga reconoclda, en este.

(9) ORTIZ R. B. Compresl6n de datos en computadores. t. N M. M. 0. N. 0. N 0. 0. Rail 0. 0. p. p. 0. M. RaIz. p. Raiz. Q R. Q R. 1. S T. =. M 000 N = 001 0=010 P = 011 Q = 100 R = 101 S = 110 111 T. =. Q. R 1. S T. C6digo. 1. 1. S T. Probab.. C6dlgo. 0125 0125 0125 0125 0125 0125 0125 0125. N = 0 05 M = 1000 00625 o = 1001 00625 P = 1010 00625 Q = 1011 00625 R = 1100 00625 S = 1101 00625 0125 111 T. Probab.. C6dlgo. =. N 00 0=01 1000 M P = 1001 Q = 1010 R = 1011 110 S 111 T. =. = =. =. Probab.. 025 025 00625 00625 00625 00625 0125 0125. FIGURA 2. CodificacI6n DIn~mica de Huffman para eJ Mensaje "NO" con el Alfabeto M, N, 0, P, a, R, S, T. TABLA 4.. CodificaclOn de un Mensaje por el. M~lodo. de Zlv·Lempel. Tabla Indlce. 1. 2 3 4 5 6 7 8. Conlenldo. Salida. Mensaje. = "efefmrere". e I m. = el 2e = Ie 4m = elm 3f = mf 51 = leI 1f. 1 (e). 2 (I) 4 (el). 3 em) 5 (Ie) 5 (Ie). 313.

(10) REVISTA leA. Vol. 27. JuJio • Scpticmbre 1992 momento el cOdrgo 1 se envra a la salida como cOdrgo de "e" y la nueva cadena reconocrda se almacena en la tabla, en la posic/On 4, como "1f" EI nuevo sfmbolo "t" es ahara eJ comlenzo del slgUiente grupo de la cadena de caracteres, el an~hsrs contrnua y se detlene en la s/gUlente "e", el cOdlgo para la cadena "f" (2), que es la mas larga hasta ahara, se env/a a la salida, el nuevo grupo "fe" con c6dlgo "2e" se graba en la slgUiente posIcIOn de la tabla, de tal manera que el cOdlgo para "fe" es 5 EI an~­ IIsls lexicogr~f/co contmua en esta forma hasta fmahzar el mensaje, el mensaJe frnal codlflcado es el que aparece en la columna 'Sahda' y es 124355. entrada en la POSICiOn P de /a IIsta, el valor de P se transmlte al frente de la IIsta; 51 la palabra no eXlste, el valor del entero I se transmlte seguldo par la palabra que no fue encontrada y esa palabra se Inserta al frente de la flsta De tra parte, el decodificador reclbe un entero 1y 10 remplaza can el conten/do de la f~slma posIcIOn de la list a 51 eXlste, luego, la palabra se mueve al frente Igual que en la codrflcacl6n. SI no eXlste una palabra en la POSICIOn I, el decodlflcador ace pta la sigulente palabra y la Inserta al frente Tanto en la codlflcacl6n como en la deeodrflcacr6n el ultimo elemento de la Irsta. que es el menos referenclado. se borra antes que se efectue una nueva InserclOn cuando la IIsta esta lIena. EI proceso de decodrtlcaclOn se puede Implementar utlhzando reeurslvldad puesto que este m~todo produce un c6drgo para el ultimo caraeter detectado junto can el c6dlgo de la cadena pretlJa, el cual, a su vez, es Indlce de otro cOdlgo en la Tabla En la Tabla 4 el cOdlgo 5 de 'Salida' slgmflca que se debe tomar el dato del mdlce 5 de la tabla. la POSICIOn 5 de la tabla conliene 2e, esto mdrea que se debe tomar el dato del Indlce 2 de la tabla para formar el grupo 'fe'. En la Tabla 5 se presenta un eJemplo de un mensaJe envlado por el codlficador y la IIsta despu~s del procesamlento de cada palabra. MTF - Movlmlento al frente de Bentley: Este m~todo tlene en cuenta las correlacrones entre los sfmbolos, es decrr que este esquema utlllza "Iocahdad de referencla" la cual ocurre cuando los srmbolos 0 palabras se usan freeuentemente durante mtervalos eortos de tlempo y no se vuelven a usar a referencrar dUiante perlodos largos. En este eJemplo las palabras "Las" y "Clenelas" se trasmlten solo una vez y al final del mensaje estan cerca del comlenzo de la IIsta La IIsta es denomrnada "autoorganrzada" porque cada vez que una nueva palabra se Codlflca la IIsta se aJusta o reorganlza, movrendo al frente la ultima palabra aecesada. Bentley, et al (1986) [3] utlliza palabras en vez de sfmbolos como Un/dad de proceso, un cOdrgo es un Indlce entero que rndlca la poslcl6n de la palabra en una hsta ordenada EI algontmo en forma general es el SlgUlente rnrClalmente la IIsta esta vacra, 1=0, Sl eXlste una palabra lomada del texto de. 314. Este esquema esta basado en eadenas de caracteres. por 10 tanto el mensaJe se agrupa en palabras de tal forma que el codlflcador puede reconoeer eada una de elias. ANALISIS Y DISCUSION DE LOS MODE· LOS DE COMPRESION. A contrnuacl6n se drscuten ventaJas y desventajas acerca de la ImplementacrOn de los metodos descntos y resultados de pruebas encontradas en la IIteratura.

(11) ORTIZ R., B. Comprc'lOn de TABLA 5. dnt()~. en computadores.. Un ejemplo de Compresl6n con la Tecnlca MTF de Bentley. MensaJe Fuente 'LAS CIENCJAS INFORMATICAS BRINDAN SOPORTE A LAS CIENCIAS AGRICOlAS Palabra. Mensaje Envlado. Contenldo de Ja IIsla. Las Crenclas Informatlcas Bnndan Soparte A Las Crenclas Agrrcolas. 1 (las) 2 (Crenelas) 3 (InformaIICas) 4 (Bnndan) 5 (Sopone). las Clenclas Las Informatlcas Clenclas Las 8nndan Informatlcas ClenClas las Saporte Brrndan Informatlcas Clenclas Las A Soporte 8rrndan Informatlcas Clenclas Las A Saparte Bnndan Informatlcas Clenclas Las A Soporte Brrndan Informatlcas Agrrcolas Clenclas Las A Soparte BnMan Informahcas. 6 (A). 6 Las 6 Clenclas 7 (Agrrcolas). C6dlgo estatlco de Huffman EI c6dlgo de Huffman ha Sido el metodo tradlclonal para compresI6n de datos porque es facil de Implementar y normal mente provee una buena compresl6n Este c6dlgo utlllza un conJunto de hstas para almacenar los slmbolos, las frecuenclas y las probablhdades ademas utlllza un arbol blnano para oblener los c6dlgos Este metoda asume que la probabllldad de un s(mbolo es constante e mdependlente, 10 cual no es real Chol [41 obtuvo un promedlO de 45 3% (de reduccl6n) con el c6dlgo estatlco de Huffman, ademas aphc6 el c6dlgo de Huffman repetldamente para un mlsmo archlvo fuente y los resultados no fueron sat/sfactonos porque despues de 4 IteraClOnes el Incremento en la compresl6n fue apenas del 4% en promedlo MCintyre y Pechura r9 presentaron una forma mteresante para Implementar este metodo para eVltar la creacI6n de tablas mdlvlduales de cada archlvo todas las tabias (0 arboles) se reemplazan usando una tabla flJa para un conJunto de archlvos En. est a forma 5e 50luclona el problema de es paclo al almacenar tablas mdlvlduales de cada archlvo ademas efectuaron vanos ex penmentos con programas fuente en dlferentes lenguajes y los resultados fueron satlSfactonos 98 7% de las veces el c6dlgo estatlco produjO archlvos comprrmldos mas pequenos que el c6dlgo dmamlco de Huffman Una buena ventaja del c6dlgo es tatlco sobre eJ dlnamlcO es que ahorra mas espaclo para archIves pequefies EI tlempo se rncrementa hnealmente con el tamano del archive de entrada mas el orden de Nd· 10g(Nd) slendo Nd el numero de caracteres dlstlntos. C6dlgo dmamlco de Huffman Este c6 dlgo eVlta las contlnuas reconstrucclones del arbol de Huffman la estructura de da tos utlhzada se denomlna "floating tree la cual es un arbol cuyos apuntadores no 5e preservan exphcltamente La Idea del "floating tree" es eVltar la creacl6n de un arbol real usando numeracl6n exphclta que corresponde a las locahzaclones flSlcas de memona en las cuales se almacena la In formacl6n sobre los nodos 315.

(12) REVISTA leA. Vol. 27. Julio· Scpticmbrc 1992. Knuth {71, presentO la estructura de da· tos necesana para Implementar este ~rbol, la cual es MSlcamente un conjunto de arre· 910s para Apuntadores al padre de los nodos • Apuntadores a los hlJos de los nodos - Representacl6n del alfabeto - Pesos de los nod os • Apuntador IzqUierdo para bloques - Apuntador derecho para bloques En esta ImplementaclOn hay un nodo especIal que representa lodos los slmbolos can peso cero (srmbolos que no han ocurndo), de esta forma, Inlclalmente el arbol de Huffman contlene solo un nodo cuyo peso es cero En las pruebas reahzadas por ChOl [4] el promedlo de reducclOn para el cOdlgo dlnamlco de Huffman fue de 43% mlentras que el c6dlgo estatlco alcanz6 hasta un 45%, ademas, el dlnamlco fue mas rapldo que el estatlco En los resultados presentados por 8ell et al [2] el cOdlgo dmamlCO de Huffman obtuvo 4 99 blts/caracter pero aun eXlsten meJores compresores como MTF de 8entley et aJ [3] Metoda de Zlv-Lempel. En resultados presentados por 8ell et al [21, este metodo mostr6 un promedlo de 3 0 blts/caracter ChOl [4] reahz6 expenmentos y el porcentaJe de reducclOn fue de 56% en promedlo se observ6 como el mejor metodo en general para dlversos tlPOS de archlvos, en la mayona de las pruebas Una caracteristlca Importante del proceso de decodlflcacl6n es que se efectua mas rapldamente que la codlflcacl6n puesto que hay apuntadores a las palabras codlflcadas EXIsten vanaclones en los algontmos para Implementar este metodo, la dlferencra esta baslcamente en la decIsIOn sobre que tan. 316. lejos puede Ir un apuntador y cua\es patabras son el obJetlvo del apuntador Bell et aJ (2) presenta dlferentes vanaclones a este metoda y describe sus pnnClpales caracteristlcas La estructura de datos mas adecuada para este metodo es denommada "tne", esta estructura. mtroduclda por Knuth {aI, es semeJante al arbol denommado "B·tree" y se aJusta bastante al metoda de ZIVLempel Un arbol bmano tambu~n puede ser utlhzado como estructura baslca MTF de Bentley: En este esquema la I/sta para mantener las palabras que han aparecldo en el mensaJe es la estructura mas Importante Las operaclones baslcas. como para cualqUier IIsta, son busqueda, InsercIOn y borrado La IIsta se puede Implementar como una IIsta encadenada. como un arbol blnano 0 como una estructura "tne" {3] La dlferencl8 baslca entre estas estructuras es la busqueda. Sl se usa una estruc· tura "tne" la busqueda es raplda pera la actuahzacI6n es mas compleJa. En este metodo cada palabra neceslta un byte adlclonal para denotar el fin En las 1m· plementaclones reales de MTF, despu~s de compnmlr las palabras, el mensaJe es nuevamente compnmldo us an do otra tecmca tal como el CMlgO de Huffman para convertlr los cOdlgos de las paJabras a otras c6dlgos. Chor [4J efectu6 expenmentos utlhzando MTF y MTF seguldo p~r el c6dlgo de Huffman MTF fue Implementado como bloque a bloque MTF por Sl solo present6 una compresIOn baja en promedlo (37%) y en cad a uno de los casos Can el cO dig a de Huffman se obtuvo 530/0 de reducclOn slendo obvlO este resultado puesto que se estan efectuado 2 compreslones en cascada.

(13) ORTIZ R., CONCLUSIONES AI parecer no eXlste un metodo 6ptlmo generallzado para compresI6n de datos Para cada caso especfflco es necesano anaIIzar cUldadosamente cual modelo se debe usar EI anailsis para selecclonar el modelo debe conSlderar la compleJldad del mlsmo el tlempo, espaclo y el tlPO de mensaJe 0 texto a ser compnmldo Sin embargo, el metodo de Zlv-Lempel en general es uno de los mas utlhzados sobrepasando otros melodos, en las pruebas a que ha Sido some-. n. Comprcsl6n de dato~ en computadores. Imphca el recomdo del texto y la consulta de tablas 0 c1rboles. BIBLIOGRAFIA. IBM de Colombia S A 1992 La Tecnologla de CompresI6n de Dalos Actuahdades Medlo de ComUOIcaCI6n del GenlrO de Soluclones de IBM de Colombia 8(1) pp 16-17. 2. Bell, T Willen, I H Cleary, J G 1989 Modeling for Text Compression ACM Computing Surveys 21(4) pp 557589. 3. Bentley, J L Sreator,D 0 , Tarlan, R E Wei, V K 1986 A Locally Adap/lve Data CompresSion Scheme Comm ACM 29(4) pp 320-327. 4. ChOl, S 1989 A Comparison of Methods for TeX1 Compression M Sc ThesIs Oklahoma State UnlverSlly. 5. Cormack, V y Horspoo!, R N S 1987 Data Compression USing Dlnamyc Markov Modelling The Computer Journal 30(6) pp 541 549. 6. Jones, 0 W 1988 Application of Splay Trees to Data Compression Computing Practices 31(8) pp 996-1007. 7. Knuth, 0 E 1985 DynamiC Huffman CodlOg Journal of AlgOrithms 6 pp 163·180. 8. Knuth D E 1973 The Art of Computer Programmmg Vol 3 SorMg and Searchmg Addison Wesley Readmg MA. 9. Mcmtyre, 0 R Y Pechura, M A 1985 Data Compression USlOg Static Huffman Code decode Tables Computing Practices 2B(6} pp 612616. 10. Moffat A 1989 Word based Text Compres sion Software Practice and Expenence 19(2) pp 185198. '1. Tarjan R E ,Sreator 0 0 1985 Sell AdJUStlOg Binary Search Trees Journal ACM 32(3) pp 652-685. tid 0 Bell et al [2] resume los resultados de un conJunto de expenmentos en los cuales la compresl6n vana desde 0 87 hasta 8 bits/caracter, esta vanacl6n es onglnada por los dlferentes modelos apllcados a dlferentes tlPOS de textos tales como IIbros artl' culos clentlficos pregramas etc Esto demuestra el ampho rango de compreslOn que se puede obtener dependlendo del es quema utlhzado y del mensaJe fuente El c6dlgo estatlco de Huffman es aun uno de los meJores metod os en general para compnmlr datos a pesar de la mvestlgac/6n que se ha reahzado en este campo durante los ultlmos anos En el sector agropecuano la compresl6n de datos serra de gran utilldad puesto que los volumenes de datos preduc/dos son al· tos La compresl6n es aun mas vahosa Sl se Implementa una red de transmlsl6n de datos que comuntque todo el pals y as! se pueda transmllir y consultar mformacI6n local de las dlferentes zonas agroecol6glcas en forma raplda En general el proceso de desempaquetar o decodlflcar es mas veloz que la codlflca· cIOn porque la elaboracl6n de los c6dlgos. 317.

(14)

Figure

TABLA  1.  Claslflcacl6n  de  &#34;'~Iodos  pom Compresl6n  de  Oalos.
FIGURA  1  Construecl6n del C6dlgo  de  Huffman
FIGURA  2.  CodificacI6n  DIn~mica  de Huffman para eJ  Mensaje &#34;NO&#34; con el  Alfabeto  M,  N,  0, P,  a,  R,  S,  T
TABLA  5  Un  ejemplo  de  Compresl6n  con  la  Tecnlca  MTF  de  Bentley

Referencias

Documento similar

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

[r]

[r]

[r]

A medida que las organizaciones evolucionan para responder a los cambios del ambiente tanto para sobrevivir como para crecer a partir de la innovación (Stacey, 1996), los

“La unificación de la clasificación de empresas otorgada por las CC.AA.”, “La unificación de criterios en la acreditación de los servicios de prevención de riesgos

de se convertir en chaux par la calcination- L a formation de ces pierres nous paroît due, en grande partie , au détritus des coquillages : Tidentité des