1 #LyX 1.3 created this file. For more info see http://www.lyx.org/
11 \paperpackage widemarginsa4
15 \use_numerical_citations 0
16 \paperorientation portrait
19 \paragraph_separation indent
21 \quotes_language english
25 \paperpagestyle default
29 Organización de Datos (75.06)
46 Leandro Lucarella (77891)
48 Ricardo Markiewicz (78226)
51 Primera Entrega, 28 de Junio del 2004
55 \begin_inset LatexCommand \tableofcontents{}
65 Método de compresión utilizado
68 Dada la asignación de confeccionar un compresor de archivos de cualquier
69 índole, con alguna optimización particular para archivos de texto, hemos
70 optado por la implementación del esquema:
72 Block Sorting + Move to front + Huffman Estático.
76 Si bien un compresor estadístico final más robusto como el
84 podrían producir niveles de compresión un tanto mejores, a fines de resguardar
85 la confección de un compresor estable y poseer tiempo suficiente para realizar
86 pruebas y optimizaciones, se optó por el
91 No obstante, se comparó con una implementación de
95 de ejemplo obtenida de Internet y se observaron que los resultados eran
96 muy similares, a veces obteniendo un mejor nivel de compresión y a veces
97 obteniendo uno peor, descartando luego de estas pruebas la posibilidad
98 de extender el estático al dinámico.
101 Además de la capacidad natural de todo compresor (esto es, de comprimir/descompr
102 imir), la implementación que describiremos a continuación cuenta con característ
103 icas especiales que se verán detallados en la
106 \begin_inset LatexCommand \ref{sec:Features-Especiales}
113 Dichas características se resumen a:
116 Persistencia del Modelo Orden-0 de
131 (Agrupación de Ceros, aplicado a la salida del
142 (Optimización para textos detallada posteriormente)
148 Antes de pasar a la descripción de la implementación de nuestro compresor,
149 detallaremos el modo de uso.
157 Como hemos ancitipado anteriormente, el compresor cuenta con features especiales
158 que pueden ser utilizados a través de opciones en la invocación del programa.
159 Antes de pasar a su descripción, notamos la invocación general para comprimir
160 y descomprimir un archivo como se pidió en el enunciado
170 es un enlace simbólico a
174 , nombre real del ejecutable.
186 ./grupo11 -c [-t volsize] sourcefile targetfile
195 el nombre del archivo a comprimir y
199 el nombre del archivo comprimido.
208 ./grupo11 -d sourcefile targetfile
217 el nombre del archivo a descomprimir y
221 el nombre del archivo descomprimido.
231 opcional que permite generar un archivo comprimido multivolumen, donde
232 volsize será el tamaño en kbytes de cada volumen, excepto el último que
237 \begin_inset LatexCommand \label{sub:Execution-Flags}
244 Además de los flags estándar que hemos visto recién, nuestro compresor cuenta
245 con otra serie de ellos para la utilización de los características especiales
246 que veremos más adelante.
247 A fines de documentar la totalidad de los flags de ejecución, detallamos
248 los anteriores y los adicionales a continuación:
250 \labelwidthstring 00.00.0000
256 Indica que se desea comprimir un archivo (mutuamente exclusivo con
260 , al menos uno debe estar presente).
262 \labelwidthstring 00.00.0000
268 Indica que se desea descomprimir un archivo (mutuamente exclusivo con
272 , al menos uno debe estar presente).
274 \labelwidthstring 00.00.0000
280 Indica que se desea un archivo comprimido en multivolumenes.
281 Seguido a dicho flag se debe indicar el tamaño en KBytes que se desea para
284 \labelwidthstring 00.00.0000
290 Puede ser utilizado únicamente en una compresión y activa el feature de
297 \labelwidthstring 00.00.0000
303 Puede ser utilizado únicamente en una compresión y activa el característica
308 , que realizar un reemplazo de palabras frecuentes antes del BlockSorting.
310 \labelwidthstring 00.00.0000
316 Puede ser utilizado únicamente en una compresión y graba el modelo de orden-0
321 generado durante la compresión del archivo (en un archivo de extensión
329 ), para que luego pueda ser reutilizado en otra compresión.
331 \labelwidthstring 00.00.0000
337 Puede ser utilizado únicamente en una compresión y carga un modelo de orden-0
342 para ser utilizado en la compresión del archivo especificado, evitando
343 el escaneado del archivo a comprimir.
344 Deberá ser sucedido por el nombre del archivo que posee el modelo.
346 \labelwidthstring 00.00.0000
352 Especifica la calidad (nivel) de compresión.
353 Puede ser un valor entre 0 y 9, siendo 0 el menor nivel de compresión (más
354 rápido) y 9 el máximo (más lento).
355 Por omisión se utiliza un nivel de compresión 5.
356 \layout Subsubsection*
361 Damos a continuación unos breves ejemplos de invocación utilizando diferentes
365 Compresión multivolumen (de 1024KB, cada uno):
369 ./grupo11 -c -t 1024 libro.txt libro.j
380 ./grupo11 -cz libro.txt libro.j
383 Compresión grabando modelo de
391 ./grupo11 -cs libro.txt libro.j
394 Compresión con carga de
402 ./grupo11 -c libro.txt libro.j -m modelo.ftb
405 Compresión de máxima calidad y volúmenes de 100KB:
409 ./grupo11 -czt100 -q9 libro.txt libro.j
412 Descompresión de cualquiera de los anteriores:
416 ./grupo11 -d libro.j libro_descomprimido.txt
428 La técnica de Block Sorting
434 desde ahora lo llamaremos BS, para minimizar la notación.
437 tiene su principal desventaja en que es un algoritmo que consume muchos
438 recursos, y para ser una solución práctica debe ser trabajada para dar
439 resultados coherentes.
442 En una implementación simple, el BS debe crear una matriz y crear todos
443 los desplazamientos sobre ella.
444 Esto hace que se necesite
445 \begin_inset Formula $O(n^{2})$
449 \begin_inset Formula $n$
452 es la longitud del vector sobre el cual se quiere operar.
453 Claramente es un problema, ya que para una página pequeña, digamos 1kb,
454 se necesita una matriz de 1Mb.
457 El otro problema es el tiempo de ordenamiento de los desplazamientos, que
458 debe ser lo menor posible.
459 Una posibilidad es utilizar un método de ordenamiento de bajo orden, como
466 Se ha optado por utilizar el qsort de la libc por ser ANSI-C y tener una
467 técnica de selección del pivot aceptable.
470 utilizado en esta implementación.
471 Otra posible opción hubiera sido el Heap Sort, pero dada la complejidad
472 de su implementación no se creyó que diera una mejora factible y suficiente
473 apreciable como para implementarlo.
476 Como última opción se estudió el Radix Sort, ya que justamente nuestro dato
477 a ordenar es de longitud fija
478 \begin_inset Formula $n$
481 y se cuenta con un conjunto de
482 \begin_inset Formula $L=255$
485 elementos posibles a aparecer en el dato.
486 El orden de éste método sería
487 \begin_inset Formula $O(n*L)$
490 , pero para que realmente el Radix Sort sea efectivo, se requiere que
491 \begin_inset Formula $255=L<log_{2}(n)=15$
494 , por lo que fue descartado.
497 Para solucionar el problema del consumo de memoria se plateó un esquema
498 como el que se indica a continuación :
506 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
511 Dato | | | | | | | | | | | | | | | | | | | | | | | | | |
516 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
526 Desplazamientos | | |
570 | |---------------------------------------------------------+
578 El vector desplazamiento es una estructura de control que almacena :
581 La posición inicial de la palabra desplazada i en el Dato
584 La posición final de la palabra desplazada en el Dato ( se calcula como
588 La ganancia de este método es que se utilizan
589 \begin_inset Formula $2*n$
592 bytes de memoria solamente, es decir, que se bajó a O(n) el orden en memoria
596 Luego de inicializar el vector Desplazamiento (esta parte es
597 \begin_inset Formula $O(n)$
600 en tiempo) se ordena el vector utilizando el qsort, que es del orden de
602 \begin_inset Formula $O(n*log_{2}(n))$
611 En realidad es del orden de O(1.44*n*log2(n)), para el caso promedio.
615 Y como último paso se obtiene la salida recurriendo el vector Desplazamiento
616 ordenado y emitiendo el último byte de cada posición.
617 Si se detecta la posición donde la posición inicial sea 0, se obtiene el
621 Se debe aclara que los órdenes estimados más arriba se basan en la suposición
622 de que el orden de una comparación en
623 \begin_inset Formula $O(1)$
627 En el caso de tener que comprimir archivos donde los desplazamientos queden
628 iguales o solo cambien sobre el final, los órdenes se ven muy afectados.
629 Sin embargo, para el caso promedio no se comporta tan mal.
635 La idea básica del move to front es mantener una lista que represente los
636 símbolos del archivo o bloque a procesar, y a su vez coloca los símbolos
637 mas frecuentes al frente de esta lista.
644 \begin_inset Quotes eld
647 aaaabbabbbaaaaaccccbbccbbbbdddddbbbb
648 \begin_inset Quotes erd
655 \begin_inset Quotes eld
659 \begin_inset Quotes erd
665 Salida: 00001011001000200020101000300010004
668 Un símbolo es codificado como el índice (ó posición) en la lista de símbolos
669 inicial (la cual contiene a todos los símbolos diferentes del archivo o
671 Al comenzar el proceso, se leen uno por uno los símbolos del archivo o
672 bloque original y este mismo símbolo es promovido hacia el frente de la
673 lista, de esta los símbolos mas frecuentes tienden a posicionarse al frente
677 Como este esquema es aplicado luego de ser procesado por el
681 tenemos la seguridad que existirá una fuerte localidad de símbolos en el
682 bloque de datos recibido, esto provocará que la salida del
686 posea una gran cantidad de cadenas de ceros consecutivos, que luego pueden
687 ser codificados nuevamente, lo que favorece la compresión final.
693 Si bien no ahondaremos en detalles de implementación que pueden observarse
694 en la documentación generada por doxygen que acompaña este informe, pasamos
695 a presentar la interfaz a través de la cual el usuario podrá utilizar este
697 Antes, es necesario comentar que el estado del compresor, se mantiene a
698 través de una estructura definida como
702 , en la cual se especificarán cosas tales como si el compresor actúa sobre
703 archivos o chunks de datos, si es un huffman canónico o estándar, archivo
704 a comprimir, archivo destino, etc.
709 El compresor y/o descompresor Huffman Estático, será inicializado y desinicializ
710 ado utilizando las rutinas:
716 HUFF_STATE *shuff_init_encoder_byfile(char *inputfile, char *outputfile,
723 HUFF_STATE *shuff_init_encoder_bychunk(char *outputfile, long volsize);
729 HUFF_STATE *shuff_init_decoder(char *inputfile, char *outputfile);
735 void shuff_deinit_encoder(HUFF_STATE *shuff);
741 void shuff_deinit_decoder(HUFF_STATE *shuff);
744 Para llevar a cabo la compresión efectiva de un archivo o chunks de datos,
745 se cuentan con las siguientes rutinas:
750 int shuff_encode_file(HUFF_STATE *shuff);
755 int shuff_decode_file(HUFF_STATE *shuff);
760 int shuff_scanfreq_chunk(HUFF_STATE *shuff, char* chunk, int chunksize);
765 int shuff_decode_chunk(HUFF_STATE *shuff, char *chunk, int chunksize, int
769 Operación sobre archivos o chunks
774 Dado que se requería la utilización de este compresor en la etapa final
775 de un BS+MTF, el mismo proporciona funcionalidad para comprimir directamente
776 un archivo especificado, o bien para realizar la compresión de chunks de
777 datos, que en nuestro caso serán las salidas del Move to Front.
780 Persistencia del Modelo Estadístico de Orden 0
785 A fines de poder grabar o cargar un modelo de orden-0 el cual simplemente
786 consiste en una tabla de frecuencias/probabilidades de los 255 símbolos
787 posibles en un archivo, dando lugar al Huffman Canónico que será explicado
788 posteriormente, se cuenta con dos funciones:
800 Uno de los problemas que teníamos al principio era que las tareas estaban
801 mezcladas, entonces donde se estaba comprimiendo, se estaba guardando también
802 en un archivo y manejando la lógica de hacer los splits de los archivos.
805 Obviamente como eso resultaba muy molesto planteamos un modelo más abstracto
806 al que llamamos Virtual File, que es una API escrita sobre la API ANSI-C
807 de Input/Output que maneja de manera transparente este tema.
810 Utilizar la API esta tan simple como agregar una
811 \begin_inset Quotes eld
815 \begin_inset Quotes erd
818 delante de las funciones fopen, fclose, fread, etc y reemplazar la estructura
822 Cuando se abre un archivo para escritura a medida que se van escribiendo
823 bytes se va incrementando un contador.
824 Si el contador llega al limite pedido, se cierra el archivo actual, se
825 abre el siguiente y se sigue escribiendo en éste, de manera totalmente
826 transparente para el usuario/programador.
829 La lectura es similar.
830 Cada vez que se llega al EOF de un archivo, si éste no es el último volumen,
831 se cierra el archivo actual y se abre el siguiente hasta llegar al EOF
836 \begin_inset LatexCommand \label{sec:Features-Especiales}
840 Optimizaciones y Características adicionales
843 Como fue anticipado al inicio de este documento, nuestro compresor cuenta
844 con funcionalidad extra que permite en ciertos casos obtener mejores niveles
846 Pasamos a describir las mismas una por una, terminando por último con una
847 optimización específica para textos.
853 Dada la naturaleza del Huffman Estático que hemos implementado como el compresor
854 estadístico final de la cadena
858 , el mismo se vale de un modelo estadístico de orden-0, el cual es obtenido
859 realizando una pasada inicial al archivo a comprimir, en la cual obtiene
860 una tabla de frecuencias/probabilidades, y la cual es utilizada para generar
861 el árbol de Huffman, que a su vez da origen a una tabla de códigos prefijos
862 que finalmente es utilizada en el compresor, para codificar los símbolos
863 o caracteres del archivo original.
866 Dicho esto, destacamos la extensión que hemos realizado a nuestro compresor
867 de Huffman para que pueda guardar y/o cargar un modelo estadístico de orden-0
868 y el usuario pueda por ejemplo utilizar para comprimir cualquier archivo
869 de texto, un modelo que él crea óptimo para la compresión de dichos archivos,
870 en vez de generar un modelo diferente para cada archivo que comprime.
873 Esta capacidad de un compresor de Huffman, se la conoce como Huffman Canónico,
874 y se encuentra presente en nuestro compresor.
875 Para saber más sobre su modo de uso, dirigirse a la sección
878 \begin_inset LatexCommand \ref{sub:Execution-Flags}
890 Este algoritmo se aplica a la salida del
898 que aumenta la localidad, genera estadísticamente muchas secuencias de
900 Como el Huffman Estático no aprovecha esta característica (comprime igual
909 ), se buscó un método que sí la explote para optimizar el compresor y se
910 llegó a un algoritmo muy simple que bautizamos
917 Cada secuencia de ceros se codifica con 2 bytes, el primero es siempre 0
922 ) y el segundo indica la cantidad de ceros que le siguen.
923 En el caso de haber un byte de valor cero aislado, también se codifica
928 , que indica que viene un cero y luego de ese cero no viene ningún cero
929 más), expandiendo la salida, pero estos son casos aislados que estadísticamente
930 se ven superados por la cantidad de secuencias largas de ceros que son
931 comprimidas a sólo 2 bytes.
932 Además, la salida del
936 (Zero Grouping) es comprimida con Huffman por lo que en casos extremos
937 la expansión no se manifiesta en forma notoria.
940 Como la cantidad de ceros que le siguen al primero en una secuencia es expresada
941 con un byte, sólo se pueden comprimir a 2 bytes secuencias de hasta 256
942 ceros (el primer cero más los 0-255 siguientes).
943 De haber secuencias con mayor cantidad de ceros, simplemente se generan
956 la cantidad de ceros en la secuencia dividido 256, redondeando hacia arriba)
958 Por ejemplo, una secuencia de 257 ceros será expresada como
962 (2 grupos) y una de 525 como
964 0x00 0xFF 0x00 0xFF 0x00 0x0B
967 Nuevamente, se comprobó estadísticamente que las secuencias de ceros rara
968 vez superan los 50 ceros seguidos, por lo que de utilizar más de un byte
969 para expresar la cantidad de ceros que siguen al primero se obtendrían
971 \layout Subsubsection*
978 Salida de MTF: 0 0 0 0 0 0 1 5 3 0 0 0 0 12 0 1 0 0 0 0 0 0 0 0 0 1 1
984 Salida de ZG: 0 5 1 5 3 0 3 12 0 0 1 0 8 1 1
1000 Como se puede ver, la salida del MTF es de 33 bytes, mientras que la del
1005 es de 22 (incluso cuando hubieron expansiones).
1006 Como se podrá ver en las pruebas del capítulo
1007 \begin_inset LatexCommand \vref{cha:Benchmarks}
1011 , en la mayoría de los casos se logra una mejora introduciendo este algoritmo,
1012 y en casos extremos esta mejora llega obtener resultados con la mitad de
1013 bpb (bits por byte) que la salida original del
1023 Esta optimización se ha realizado específicamente para mejorar la compresión
1024 de archivos de texto.
1025 La base de esta técnica es la previa confección de un diccionario de palabras
1026 (en nuestro caso 255 palabras máximo), a través del cual aplicando un pre-proce
1027 samiento al archivo a comprimir, reemplazamos las palabras de ese diccionario
1028 que se encuentren en el archivo, por un código de escape sucedido por el
1029 índice en el diccionario de la palabra que se abrevia.
1032 Es decir, si tenemos el siguiente diccionario de 4 palabras:
1048 ; y poseemos el texto:
1051 \begin_inset Quotes eld
1063 \begin_inset Quotes erd
1068 , luego del pre-procesamiento tendremos:
1071 \begin_inset Quotes eld
1087 \begin_inset Quotes erd
1095 Para la confección de un buen diccionario, hemos desarrollado una utilidad
1096 que contabiliza las 255 palabras que más aparecen dentro de una fuente
1097 especificada, y luego del análisis de varios textos en castellano de toda
1098 índole (informáticos, novelas, noticias), se obtiene el diccionario que
1099 será entregado con el software.
1102 Documentación de la API
1105 Para obtener una documentación de la API, se incluye en formato HTML en
1106 el CD-ROM la documentación generada con Doxygen para los distintos componentes
1108 Esta documentación se encuentra en el directorio
1116 \begin_inset LatexCommand \label{cha:Benchmarks}
1123 Prueba Calgary Corpus
1126 El conjunto de prueba Calgary Corpus Test es utilizado internacionalmente
1127 para la prueba y comparación de compresores, contando con archivos diseñados
1128 específicamente para estos fines.
1129 Es por ello que hemos utilizado dicho conjunto y a continuación exponemos
1134 \begin_inset Float table
1141 Comparación de compresores JACU, GZIP y BZIP2 con Test de Calgary Corpus,
1142 utilizando un microprocesador Athlon XP 1.7+ Thunderbird con 256 MB RAM.
1143 La compresión JACU se realiza con página default de 32 Kbytes.
1147 \begin_inset Tabular
1148 <lyxtabular version="3" rows="19" columns="7">
1150 <column alignment="center" valignment="top" leftline="true" width="0">
1151 <column alignment="center" valignment="top" leftline="true" width="0">
1152 <column alignment="center" valignment="top" leftline="true" width="0">
1153 <column alignment="center" valignment="top" leftline="true" width="0">
1154 <column alignment="center" valignment="top" leftline="true" width="0">
1155 <column alignment="center" valignment="top" leftline="true" width="0">
1156 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
1157 <row topline="true" bottomline="true">
1158 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1168 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1178 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1188 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1198 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1208 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1218 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1229 <row topline="true">
1230 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1238 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1248 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1258 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1268 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1278 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1288 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1299 <row topline="true">
1300 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1308 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1318 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1328 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1338 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1348 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1358 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1369 <row topline="true">
1370 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1378 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1388 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1398 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1408 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1418 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1428 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1439 <row topline="true">
1440 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1448 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1458 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1468 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1478 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1488 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1498 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1509 <row topline="true">
1510 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1518 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1528 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1538 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1548 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1558 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1568 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1579 <row topline="true">
1580 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1588 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1598 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1608 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1618 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1628 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1638 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1649 <row topline="true">
1650 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1658 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1668 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1678 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1688 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1698 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1708 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1719 <row topline="true">
1720 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1728 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1738 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1748 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1758 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1768 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1778 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1789 <row topline="true">
1790 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1798 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1808 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1818 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1828 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1838 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1848 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1859 <row topline="true">
1860 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1868 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1878 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1888 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1898 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1908 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1918 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1929 <row topline="true">
1930 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1938 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1948 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1958 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1968 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1978 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
1988 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
1999 <row topline="true">
2000 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2008 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2018 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2028 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2038 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2048 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2058 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2069 <row topline="true">
2070 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2078 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2088 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2098 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2108 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2118 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2128 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2139 <row topline="true">
2140 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2148 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2158 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2168 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2178 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2188 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2198 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2209 <row topline="true">
2210 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2218 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2228 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2238 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2248 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2258 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2268 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2279 <row topline="true">
2280 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2288 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2298 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2308 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2318 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2328 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2338 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2349 <row topline="true">
2350 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2358 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2368 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2378 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2388 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2398 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2408 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2419 <row topline="true" bottomline="true">
2420 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2428 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2438 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2448 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2458 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2472 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2482 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2504 \begin_inset Float table
2511 Comparación de ratio de compresión con JACU utilizando distintos tamaños
2512 de página en el Block Sorting, y comparando contra Zero Grouping y Word
2514 Las mediciones son en BPB (Bits per Byte)
2518 \begin_inset Tabular
2519 <lyxtabular version="3" rows="19" columns="10">
2521 <column alignment="center" valignment="top" leftline="true" width="0">
2522 <column alignment="center" valignment="top" leftline="true" width="0">
2523 <column alignment="center" valignment="top" leftline="true" width="0">
2524 <column alignment="center" valignment="top" leftline="true" width="0">
2525 <column alignment="center" valignment="top" leftline="true" width="0">
2526 <column alignment="center" valignment="top" leftline="true" width="0">
2527 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
2528 <column alignment="center" valignment="top" rightline="true" width="0">
2529 <column alignment="center" valignment="top" rightline="true" width="0">
2530 <column alignment="center" valignment="top" rightline="true" width="0">
2531 <row topline="true" bottomline="true">
2532 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2542 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2550 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2558 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2566 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2574 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2582 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2590 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2598 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2606 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2615 <row topline="true">
2616 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2624 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2632 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2640 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2648 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2656 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2664 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2672 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2689 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2697 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2706 <row topline="true">
2707 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2715 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2723 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2731 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2739 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2747 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2755 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2763 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2771 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2779 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2788 <row topline="true">
2789 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2797 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2814 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2822 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2830 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2838 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2846 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2854 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2862 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2870 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2879 <row topline="true">
2880 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2888 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2896 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2904 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2912 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2920 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2928 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2936 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2944 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2952 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
2961 <row topline="true">
2962 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2970 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2978 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2986 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
2994 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3002 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3010 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3018 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3026 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3034 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3043 <row topline="true">
3044 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3052 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3060 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3068 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3076 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3084 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3092 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3100 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3108 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3116 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3125 <row topline="true">
3126 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3134 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3142 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3150 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3158 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3166 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3174 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3182 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3190 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3198 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3207 <row topline="true">
3208 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3216 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3224 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3232 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3240 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3248 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3256 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3264 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3272 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3280 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3289 <row topline="true">
3290 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3298 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3306 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3314 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3322 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3330 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3338 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3346 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3354 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3362 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3371 <row topline="true">
3372 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3380 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3388 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3396 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3404 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3412 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3420 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3428 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3436 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3444 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3453 <row topline="true">
3454 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3462 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3470 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3478 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3486 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3494 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3502 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3510 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3518 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3526 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3535 <row topline="true">
3536 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3544 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3552 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3560 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3577 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3585 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3593 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3601 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3609 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3617 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3626 <row topline="true">
3627 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3635 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3643 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3651 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3668 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3676 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3684 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3692 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3700 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3708 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3717 <row topline="true">
3718 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3726 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3743 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3751 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3759 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3767 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3775 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3783 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3791 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3799 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3808 <row topline="true">
3809 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3817 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3834 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3842 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3850 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3858 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3866 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3874 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3882 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3890 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3908 <row topline="true">
3909 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3917 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3925 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3933 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3941 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3949 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
3957 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3965 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3973 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3990 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
3999 <row topline="true">
4000 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4008 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4016 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4024 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4032 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4040 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4048 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4056 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4064 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4072 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4081 <row topline="true" bottomline="true">
4082 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4090 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4098 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4106 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4114 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4122 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4130 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4138 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4146 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4154 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4174 \begin_inset Float table
4181 Comparación de tiempo de compresión con JACU utilizando distintos tamaños
4182 de página en el Block Sorting, y comparando contra Zero Grouping y Word
4187 \begin_inset Tabular
4188 <lyxtabular version="3" rows="19" columns="10">
4190 <column alignment="center" valignment="top" leftline="true" width="0">
4191 <column alignment="center" valignment="top" leftline="true" width="0">
4192 <column alignment="center" valignment="top" leftline="true" width="0">
4193 <column alignment="center" valignment="top" leftline="true" width="0">
4194 <column alignment="center" valignment="top" leftline="true" width="0">
4195 <column alignment="center" valignment="top" leftline="true" width="0">
4196 <column alignment="center" valignment="top" leftline="true" rightline="true" width="0">
4197 <column alignment="center" valignment="top" rightline="true" width="0">
4198 <column alignment="center" valignment="top" rightline="true" width="0">
4199 <column alignment="center" valignment="top" rightline="true" width="0">
4200 <row topline="true" bottomline="true">
4201 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4211 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4219 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4227 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4235 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4243 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4251 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4259 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4267 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4275 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4284 <row topline="true">
4285 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4293 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4303 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4313 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4323 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4333 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4343 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4353 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4363 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4373 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4384 <row topline="true">
4385 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4393 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4403 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4429 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4439 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4449 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4459 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4469 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4479 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4489 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4500 <row topline="true">
4501 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4509 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4519 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4529 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4539 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4549 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4559 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4569 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4579 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4589 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4600 <row topline="true">
4601 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4609 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4619 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4629 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4655 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4665 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4675 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4685 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4695 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4705 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4716 <row topline="true">
4717 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4725 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4751 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4761 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4771 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4781 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4791 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4801 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4811 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4821 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4832 <row topline="true">
4833 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4841 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4851 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4861 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4871 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4881 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4891 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4901 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4911 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4921 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
4932 <row topline="true">
4933 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4941 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4951 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4961 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4971 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4981 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
4991 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5001 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5011 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5021 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5032 <row topline="true">
5033 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5041 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5051 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5061 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5071 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5081 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5091 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5101 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5111 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5121 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5132 <row topline="true">
5133 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5141 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5151 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5161 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5171 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5181 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5191 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5201 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5211 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5221 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5232 <row topline="true">
5233 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5241 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5251 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5277 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5287 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5297 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5307 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5317 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5327 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5337 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5348 <row topline="true">
5349 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5357 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5367 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5377 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5387 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5397 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5407 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5417 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5427 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5437 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5448 <row topline="true">
5449 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5457 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5467 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5477 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5487 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5497 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5507 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5517 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5527 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5537 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5548 <row topline="true">
5549 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5557 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5567 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5577 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5587 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5597 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5607 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5617 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5627 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5637 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5648 <row topline="true">
5649 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5657 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5667 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5693 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5703 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5713 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5723 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5733 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5743 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5753 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5764 <row topline="true">
5765 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5773 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5783 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5793 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5803 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5829 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5839 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5849 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5875 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5885 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5896 <row topline="true">
5897 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5905 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5915 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5925 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5935 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5945 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
5955 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5965 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5975 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5985 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
5996 <row topline="true">
5997 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6005 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6015 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6025 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6035 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6045 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6055 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6065 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6075 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6085 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6096 <row topline="true" bottomline="true">
6097 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6105 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6115 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6125 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6135 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6145 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
6155 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6165 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6175 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
6185 <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">