From 993e967e6d80d449e4b381ced16f303aa34f0ae5 Mon Sep 17 00:00:00 2001 From: Alan Kennedy Date: Mon, 28 Jun 2004 02:56:54 +0000 Subject: [PATCH] =?utf8?q?Resuelvo=20conflicto=20en=20informe=20y=20subo?= =?utf8?q?=20una=20actualizaci=C3=B3n=20m=C3=ADnima.=20Let=20the=20tests?= =?utf8?q?=20begin?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- doc/InformeTP3.lyx | 85 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 75 insertions(+), 10 deletions(-) diff --git a/doc/InformeTP3.lyx b/doc/InformeTP3.lyx index f7f5d1d..5c9068e 100644 --- a/doc/InformeTP3.lyx +++ b/doc/InformeTP3.lyx @@ -428,7 +428,7 @@ Si bien no ahondaremos en detalles de implementaci \series bold HUFF_STATE \series default -, en la cual se especificara cosas tales como si el compresor actua sobre +, en la cual se especificarán cosas tales como si el compresor actua sobre archivos o chunks de datos, si es un huffman canonico o standard, archivo a comprimir, archivo destino, etc. \layout Paragraph @@ -441,33 +441,86 @@ ado utilizando las rutinas: \family typewriter +\noun on HUFF_STATE *shuff_init_encoder_byfile(char *inputfile, char *outputfile, long volsize); \layout Itemize \family typewriter +\noun on HUFF_STATE *shuff_init_encoder_bychunk(char *outputfile, long volsize); \layout Itemize \family typewriter +\noun on HUFF_STATE *shuff_init_decoder(char *inputfile, char *outputfile); \layout Itemize \family typewriter +\noun on void shuff_deinit_encoder(HUFF_STATE *shuff); \layout Itemize \family typewriter +\noun on void shuff_deinit_decoder(HUFF_STATE *shuff); \layout Standard -Las restantes rutinas que son utilizadas para efectuar la compresión o compresió -n concreta, se detallan en la documentación extendida en doxygen, no obstante - vamos a detallar la mínima interfaz para poder operar con el compresor: +Para llevar a cabo la compresión efectiva de un archivo o chunks de datos, + se cuentan con las siguientes rutinas: +\layout Itemize + + +\family typewriter +int shuff_encode_file(HUFF_STATE *shuff); +\layout Itemize + + +\family typewriter +int shuff_decode_file(HUFF_STATE *shuff); +\layout Itemize + + +\family typewriter +int shuff_scanfreq_chunk(HUFF_STATE *shuff, char* chunk, int chunksize); +\layout Itemize + + +\family typewriter +int shuff_decode_chunk(HUFF_STATE *shuff, char *chunk, int chunksize, int + *decodedbytes); +\layout Paragraph + +Operación sobre archivos o chunks +\layout Paragraph + + +\series medium +Dado que se requería la utilización de este compresor en la etapa final + de un BS+MTF, el mismo proporciona funcionalidad para comprimir directamente + un archivo especificado, o bien para realizar la compresión de chunks de + datos, que en nuestro caso serán las salidas del Move to Front. +\layout Paragraph + +Persistencia del Modelo Estadístico de Orden 0 +\layout Paragraph + + +\series medium +A fines de poder grabar o cargar un modelo de orden-0 el cual simplemente + consiste en una tabla de frecuencias/probabilidades de los 255 symbolos + posibles en un archivo, dando lugar al Huffman Canónico que será explicado + posteriormente, se cuenta con dos funciones: +\family typewriter +shuff_save_model() +\family default +, y +\family typewriter +shuff_load_model() \layout Section @@ -646,7 +699,7 @@ ZG \end_inset -, en la mayoría de los casos se logra una mejora introduciendo este algoritmos, +, en la mayoría de los casos se logra una mejora introduciendo este algoritmo, y en casos extremos esta mejora llega obtener resultados con la mitad de bpb (bits por byte) que la salida original del \series bold @@ -758,11 +811,23 @@ doc/api/html Benchmarks \layout Section -Prueba Calgary -\layout Section +Prueba Calgary Corpus +\layout Standard -Archivos de Texto -\layout Section +El set de prueba Calgary Corpus Test es utilizado internacionalmente para + la prueba y comparación de compresores, contando con archivos diseñados + especificamente para estos fines. + Es por ello que hemos utilizado dicho set y a continuación exponemos los + resultados: +\layout Paragraph + +Bench 1) JACU vs GZIP vs BZIP2 +\layout Standard + +Se prueba el set de Calgary utilizando nuestro compresor, y enfrentandolo + al GZIP y BZIP2 en términos de tiempo utilizado para la compresion y nivel + de compresión (Bits per Byte). + Los resultados a continuación: +\layout Standard -Archivos Binarios \the_end -- 2.43.0