Saltar al contenido

¿Cuántas veces se puede comprimir un archivo?

Bienvenido a proyecto on line, en este lugar hallarás la solucíon a lo que andabas buscando.

Solución:

Para la compresión sin pérdida, la única forma de saber cuántas veces se puede ganar al volver a comprimir un archivo es intentándolo. Dependerá del algoritmo de compresión y del archivo que estés comprimiendo.

Dos archivos nunca pueden comprimirse en la misma salida, por lo que no puede bajar a un byte. ¿Cómo podría un byte representar todos los archivos que podría descomprimir?

La razón por la que la segunda compresión a veces funciona es que un algoritmo de compresión no puede realizar una compresión perfecta omnisciente. Hay una compensación entre el trabajo que tiene que hacer y el tiempo que lleva hacerlo. Su archivo se está cambiando de todos los datos a una combinación de datos sobre sus datos y los datos mismos.

Ejemplo

Tome la codificación de longitud de ejecución (probablemente la compresión útil más simple) como ejemplo.

04 04 04 04 43 43 43 43 51 52 11 bytes

Esa serie de bytes podría comprimirse como:

[4] 04 [4] 43 [-2] 51 52 7 bytes (estoy poniendo metadatos entre paréntesis)

Donde el número positivo entre paréntesis es un recuento repetido y el número negativo entre paréntesis es un comando para emitir los siguientes -n caracteres a medida que se encuentran.

En este caso podríamos intentar una compresión más:

[3] 04 [-4] 43 fe 51 52 7 bytes (fe es su -2 visto como datos de complemento a dos)

No ganamos nada y comenzaremos a crecer en la próxima iteración:

[-7] 03 04 fc 43 fe 51 52 8 bytes

Creceremos un byte por iteración durante un tiempo, pero en realidad empeorará. Un byte solo puede contener números negativos hasta -128. Empezaremos a crecer dos bytes cuando el archivo supere los 128 bytes de longitud. El crecimiento empeorará aún más a medida que el archivo se haga más grande.

Hay un viento en contra que sopla contra el programa de compresión: los metadatos. Y también, por verdadero compresores, el encabezado agregado al principio del archivo. Eso significa que eventualmente el archivo comenzará a crecer con cada compresión adicional.


RLE es un punto de partida. Si desea obtener más información, consulte LZ77 (que mira hacia atrás en el archivo para encontrar patrones) y LZ78 (que crea un diccionario). Los compresores como zip a menudo prueban múltiples algoritmos y usan el mejor.

Aquí hay algunos casos en los que puedo pensar en los que ha funcionado la compresión múltiple.

  1. Trabajé en una revista de Amiga que se enviaba con un disco. Naturalmente, llenamos el disco hasta las branquias. Una de las herramientas que usamos te permite empaquetar un ejecutable para que cuando se ejecute, se descomprima y se ejecute solo. Debido a que el algoritmo de descompresión tenía que estar en cada ejecutable, tenía que ser pequeño y simple. A menudo obtuvimos ganancias adicionales al comprimir dos veces. La descompresión se hizo en RAM. Dado que la lectura de un disquete era lenta, ¡a menudo también obtuvimos un aumento de velocidad!
  2. Microsoft admitió la compresión RLE en archivos bmp. Además, muchos procesadores de texto codificaban RLE. Los archivos RLE casi siempre se pueden comprimir significativamente con un mejor compresor.
  3. Muchos de los juegos en los que trabajé usaban un pequeño y rápido descompresor LZ77. Si comprime un gran rectángulo de píxeles (especialmente si tiene mucho color de fondo o si se trata de una animación), muy a menudo puede comprimir dos veces con buenos resultados. (¿La razón? Solo tiene tantos bits para especificar la distancia retrospectiva y la longitud, por lo que un solo patrón repetido grande se codifica en varias partes, y esas partes son altamente comprimibles).

Generalmente el límite es una compresión. Algunos algoritmos dan como resultado una relación de compresión más alta, y el uso de un algoritmo pobre seguido de un buen algoritmo a menudo resultará en mejoras. Pero usar el buen algoritmo en primer lugar es lo correcto.

Hay un límite teórico de cuánto se puede comprimir un conjunto dado de datos. Para aprender más sobre esto tendrás que estudiar teoría de la información.

En general, para la mayoría de los algoritmos, comprimir más de una vez no es útil. Aunque hay un caso especial.

Si tiene una gran cantidad de archivos duplicados, el formato zip los comprimirá de forma independiente y luego podrá comprimir el primer archivo zip para eliminar la información zip duplicada. Específicamente, para 7 archivos de Excel idénticos con un tamaño de 108 kb, comprimirlos con 7-zip da como resultado un archivo de 120 kb. Volver a comprimir da como resultado un archivo de 18 kb. Yendo más allá de eso, obtienes rendimientos decrecientes.

Sección de Reseñas y Valoraciones

Puedes añadir valor a nuestro contenido participando con tu experiencia en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *