Colección de citas famosas - Consulta de diccionarios - ¿Para qué sirve la compresión?

¿Para qué sirve la compresión?

Aplicar presión para reducir volumen, tamaño, duración, densidad, concentración, etc.

La compresión es un mecanismo que utiliza un algoritmo específico para reducir el tamaño de los archivos del ordenador. Este mecanismo es un invento muy conveniente, especialmente para los usuarios de la red, ya que puede reducir el recuento total de bytes del archivo, lo que permite que el archivo se transfiera más rápido a través de una conexión a Internet lenta y, al mismo tiempo, reduce el tamaño del archivo en el disco.

La compresión consiste en reducir el tamaño de los datos para ahorrar espacio de almacenamiento y tiempo de transmisión. Para la transmisión de datos, la compresión se puede aplicar al contenido de datos individuales o a todas las unidades de transmisión (incluidos los encabezados), dependiendo de algunos factores específicos.

La compresión de contenido es muy simple, lo que significa eliminar espacios en blanco redundantes, insertar caracteres repetidos únicos para representar caracteres repetidos en una cadena y reemplazar cadenas de bits pequeños con caracteres de uso común. Este tipo de compresión puede reducir el tamaño de los archivos de texto en un 50%. La compresión se realiza mediante programas que utilizan fórmulas y algoritmos específicos que determinan cómo comprimir y descomprimir datos. Este algoritmo se utiliza para realizar el procesamiento de archivos con o sin pérdidas, reteniendo así la mayor parte de la información del archivo y haciéndolo más pequeño. El principio básico de la compresión de archivos es encontrar bytes repetidos en un archivo, crear un archivo de "diccionario" con los mismos bytes y representarlo con un código. Por ejemplo, en varios lugares del archivo, la misma palabra "chino * * * y China" está representada por un código y escrita en el archivo de "diccionario" para lograr el propósito de degradar. Dado que la información procesada por las computadoras se expresa en forma de números binarios, el software de compresión utiliza caracteres especiales para marcar las mismas cadenas en información binaria para lograr el propósito de la compresión. Para ayudarle a comprender la compresión de archivos, imagine en su mente una imagen de un cielo azul y nubes blancas. Para miles de monótonos píxeles azules, en lugar de definir una larga lista de colores "azul, azul, azul...", es más conciso decirle a la computadora: "Almacena 1117 píxeles azules desde esta ubicación" y puede ahorrar mucho dinero. espacio de almacenamiento. Este es un ejemplo muy simple de compresión de imágenes. En última instancia, todos los archivos informáticos se almacenan en forma de "1" y "0". Al igual que los píxeles azules, mediante fórmulas de cálculo matemático razonables, el tamaño del archivo se puede comprimir en gran medida para lograr el efecto de "datos densos y sin pérdidas". En términos generales, la compresión se puede dividir en compresión con pérdida y compresión sin pérdida. Si la pérdida de datos individuales no tendrá mucho impacto, es una buena idea ignorarlos. Esto es compresión con pérdida. La compresión con pérdida se usa ampliamente en archivos de animación, sonido e imagen, los representantes típicos son mpeg, mp3 y jpg. Pero en la mayoría de los casos, los datos comprimidos deben ser precisos, por lo que la gente ha diseñado formatos de compresión sin pérdidas, como los comunes zip y rar. El software de compresión es, naturalmente, una herramienta que utiliza principios de compresión para comprimir datos. El archivo generado después de la compresión se llama archivo y su tamaño es solo una fracción o incluso menor. Por supuesto, el paquete comprimido ya tiene otro formato de archivo. Si desea utilizar los datos, primero debe utilizar un software de compresión para restaurarlos. Este proceso se llama descompresión. El software de compresión común incluye Winzip, WinRAR, etc.

Los datos informáticos tienen dos formas de duplicación y zip los comprime.

El primer tipo

Uno es la repetición en forma de frases, es decir, repetición de más de tres bytes. Para esta duplicación, zip usa dos números: 1. La distancia entre la posición de repetición y la posición de compresión actual; 2. La longitud de la repetición para representar la repetición. Suponiendo que cada uno de estos dos números ocupa un byte, los datos se comprimen, lo cual es fácil de entender.

Un byte tiene 0-255 * * 256 valores posibles, y tres bytes tiene 256 * 256 * 256 * * más de 16 millones de situaciones posibles. Los valores posibles para frases más largas aumentan exponencialmente y la probabilidad de repetición parece extremadamente baja. De hecho, todo tipo de datos tienden a ser repetitivos. En un artículo aparecen repetidamente varios términos. En una novela, los nombres de personas y lugares aparecerán repetidamente en una imagen de fondo con un degradado hacia arriba y hacia abajo, los píxeles horizontales aparecerán repetidamente y las palabras clave gramaticales aparecerán repetidamente en el archivo fuente del programa (cuántas veces; copiamos y pegamos antes y después de escribir el programa), a menudo se produce una gran cantidad de repeticiones de frases en datos en formato no comprimido con unidades de decenas de kilobytes. Después de la compresión anterior, la tendencia a la repetición de frases se destruye por completo, por lo que la compresión de la segunda frase del resultado de la compresión generalmente no es efectiva.

El segundo tipo

El segundo tipo de repetición es la repetición de un solo byte. Solo hay 256 valores posibles para un byte, por lo que este tipo de repetición es inevitable. Entre ellos, algunos bytes pueden aparecer con más frecuencia y otros pueden aparecer con menos frecuencia, lo que tiende a distribuirse estadísticamente de manera desigual, lo cual es fácil de entender. Por ejemplo, en un archivo de texto ASCII, es posible que algunos símbolos se utilicen con poca frecuencia, mientras que las letras y los números se utilizan con más frecuencia y la frecuencia de uso de cada letra también es diferente. Se dice que la letra E tiene la mayor probabilidad de uso; muchas imágenes son oscuras o claras, y se usan más píxeles oscuros (o claros) (por cierto: el formato de imagen png es una compresión sin pérdidas y su algoritmo central es el algoritmo zip, que es el mismo que el formato zip. La principal diferencia del archivo es que, como formato de imagen, almacena información como el tamaño de la imagen y la cantidad de colores utilizados en el encabezado del archivo); La compresión de frases anterior también tiene esta tendencia: las repeticiones suelen aparecer cerca de la posición de compresión actual y la longitud de la repetición suele ser más corta (dentro de los 20 bytes). Esto permite la compresión: se recodifican 256 tipos de bytes de modo que los bytes que ocurren con más frecuencia usen una codificación más corta y los bytes que ocurren con menos frecuencia usen una codificación más larga. De esta forma, cuando hay más bytes cortos que largos, la longitud total del archivo se reduce y cuanto más desigual sea el uso de bytes, mayor será la relación de compresión.

Software de compresión y formatos de compresión más utilizados

Edición

Software de compresión general

WinMount, WinRAR, WinZip, 7-Zip, coolrar

Formatos de archivos comprimidos comunes

Incluyen principalmente: rar, zip, tar, cab, UUE, jar, iso, z, 7-zip, ace, lzh, arj, gzip, bz2 y otros archivos comprimidos.

Los archivos comprimidos mediante software de compresión se denominan archivos comprimidos. El principio de compresión es comprimir el código binario del archivo y reducir los códigos 0 y 1 adyacentes. Por ejemplo, si hay 000000, se puede cambiar a seis ceros y escribir como 60 para reducir el espacio del archivo.

Conflict

El archivo JAR es un archivo Java, su aplicación está estrechamente relacionada con Java y es un formato de documento de Java. Un archivo JAR es muy similar a un archivo ZIP; para ser exactos, es un archivo ZIP, por lo que se denomina paquete de archivos. La única diferencia entre un archivo JAR y un archivo ZIP es que el contenido del archivo JAR contiene un META-INF/MANIFEST. Archivo MF, que se crea automáticamente al generar un archivo JAR.

Vitality

ZIP debe considerarse como el formato de archivo comprimido más común. Ni siquiera es necesario instalar un software de compresión o descompresión, porque usamos un sistema Windows y. integrar soporte de formato de compresión ZIP.

RAR

Aunque ZIP ocupa una posición alta entre los formatos de archivos comprimidos, bastantes sitios web de descarga optan por comprimir archivos en formato RAR. La razón más fundamental es que la tasa de compresión de archivos en formato RAR es mayor que la de ZIP.

Como estrella en ascenso en formatos de compresión, 7Z tiene una tasa de compresión más alta que RAR y puede comprimir archivos de manera más compacta. Sin embargo, dado que el formato RAR se ha popularizado mucho y no hay "tiempo" para que la red se vuelva popular, todavía es muy difícil para 7Z reemplazar a RAR.

Taxi

CAB es un formato de compresión de archivos de instalación de Microsoft, utilizado principalmente en programas de instalación de software. Dado que se trata del programa de instalación, los archivos contenidos en el archivo cab generalmente no se comprimen directamente, sino que se procesan los nombres de los archivos. Por lo tanto, aunque se pueden descomprimir directamente, los archivos obtenidos después de la descompresión generalmente no se usan directamente.

Organización Internacional de Normalización

Muchos amigos creen que ISO es un formato comprimido, que surge del soporte de "descompresión" de WinRAR para el formato ISO. De hecho, ISO no es un formato comprimido y los archivos que contiene no están comprimidos. ISO es solo un formato de imagen de un disco que copia y guarda completamente el contenido del disco. El llamado proceso de "descomprimir" ISO no es más que el proceso de descomprimir archivos dentro de la ISO.

Mariner

Los archivos con tar como eliminado se pueden abrir con WinZip o WinRar porque WinZip o WinRAR funcionan con . tar, lo que significa que se puede descomprimir con el software de descompresión correspondiente.

. tar es un formato de archivo comprimido común en Linux, no un archivo de base de datos.

UUE

Uue es un formato de compresión útil que puede abrir códigos de correo WinZip o WinRAR en caso de caracteres confusos.

Arriba presentamos principalmente los archivos comprimidos de uso común.

Principios básicos de compresión

Edición

Resumen

Si descargas muchos programas y archivos de Internet, es posible que te encuentres con muchos archivos ZIP. archivo. Este mecanismo de compresión es un invento muy conveniente, especialmente para los usuarios de la web, ya que reduce la cantidad total de bits y bytes en un archivo, lo que permite que el archivo se transfiera más rápido a través de conexiones lentas a Internet y al mismo tiempo reduce el espacio en disco que ocupan los archivos. Después de descargar el archivo, su computadora puede usar un programa como WinZip o Stuffit para expandir el archivo y restaurarlo a su tamaño original. Si todo va bien, el archivo expandido será exactamente igual que el archivo original antes de la compresión. A primera vista, esto puede parecer misterioso: ¿Cómo reducir el número de bits y bytes y recuperarlos intactos? Cuando todo salga a la luz, descubrirá que la idea básica detrás de este proceso es en realidad muy simple y directa. En este artículo, analizaremos este método para reducir significativamente los archivos mediante una simple compresión.

La mayoría de los tipos de archivos informáticos contienen bastante redundancia: enumeran parte de la misma información una y otra vez. Los programas de compresión de archivos están diseñados para eliminar esta redundancia. En lugar de enumerar una información repetidamente, un programa de compresión de archivos enumera la información solo una vez y luego hace referencia a ella nuevamente cuando aparece en el programa original.

Da un ejemplo

Toma un tipo de información familiar: texto.

John F. Kennedy dijo lo siguiente en su discurso inaugural de 1961:

No preguntes qué puede hacer tu país por ti, pregunta qué puedes hacer tú por tu país. (No preguntes qué puede hacer tu país por ti, sino qué puedes hacer tú por tu país).

Este pasaje tiene 17 palabras, incluidas 61 letras, 16 espacios, 1 guión y 1 punto. Si cada letra, espacio o signo de puntuación ocupa 1 unidad de almacenamiento, el tamaño total del archivo es 79 unidades. Para reducir el tamaño del archivo, necesitamos encontrar las partes redundantes.

Inmediatamente descubrimos:

Si ignoras la diferencia entre letras mayúsculas y minúsculas, casi la mitad de esta oración es redundante. Nueve palabras (pregunte, no, qué, su, país, puede, hacer, para usted) proporcionan casi todo lo necesario para formar una oración completa. Para construir la otra mitad de la oración, solo necesitamos tomar las palabras de la primera mitad y agregarles espacios y puntuación.

La mayoría de los programas de compresión utilizan el algoritmo LZ basado en diccionario adaptativo para comprimir archivos. "LZ" se refiere a Lemper y Ziff, los inventores del algoritmo, y "diccionario" se refiere al método de clasificar fragmentos de datos.

Existen muchos mecanismos para organizar un diccionario, que pueden ser tan simples como una lista numerada. Cuando examinamos los famosos discursos de JFK, podemos seleccionar palabras repetidas y colocarlas en un índice numerado. Luego, escribimos números directamente en lugar de palabras completas.

Conclusión

Entonces, si nuestro diccionario es:

Requisitos

Cuál

Tu

p>

El país

puede

hacer

por ti

Nuestra frase debería ser así:

1 en lugar de 2 3 4 5 6 7 8 - 1 2 8 5 6 7 3 4

Si entiendes el mecanismo, puedes pasar fácilmente Usa esto diccionario y patrón de numeración para reconstruir la oración original. Esto es lo que hace el programa de descompresión de su computadora cuando expande el archivo descargado. Es posible que también te hayas encontrado con archivos comprimidos que puedes descomprimir tú mismo. Para crear un archivo de este tipo, el programador necesita configurar un descompresor simple en el archivo comprimido. Después de la descarga, puede reconstruir automáticamente el archivo original.

Pero ¿cuánto espacio se puede ahorrar utilizando este mecanismo? "1 no es 2345678-1 2856734" es ciertamente más corto que "No preguntes qué puede hacer tu país por ti; pregunta qué puedes hacer tú por tu país". , pero cabe señalar que debemos guardar este diccionario junto con el archivo.

En los esquemas de compresión reales, calcular varios requisitos de archivos es un proceso muy complejo.

Volvamos atrás y consideremos el ejemplo anterior. Cada carácter y espacio ocupa 1 unidad de almacenamiento y la oración original completa ocupa 79 unidades. Las oraciones comprimidas (incluidos los espacios) ocupan 37 unidades y los diccionarios (palabras y números) también ocupan 37 unidades. En otras palabras, el tamaño del archivo es 74 unidades, por lo que no reducimos demasiado el tamaño del archivo.

¡Pero es sólo una frase! Como era de esperar, si el resto del discurso de Kennedy se procesara a través de este compresor, encontraríamos que estas y otras palabras se repetirían aún más a menudo. Y, como se menciona en la siguiente sección, el diccionario se puede reescribir para lograr la mayor eficiencia organizacional posible.

En el último ejemplo, seleccionamos todas las palabras repetidas y las colocamos en el diccionario. Para nosotros, esta es la forma más obvia de escribir un diccionario. Pero el compresor no lo cree así: no tiene noción de palabras, sólo busca patrones. Para reducir el tamaño del archivo tanto como sea posible, selecciona cuidadosamente el mejor modo.

Si miras esta frase desde esta perspectiva, terminas con un diccionario completamente diferente.

Si el compresor escanea la frase de Kennedy, la primera parte redundante que encuentra tiene sólo unas pocas letras. En "Don't Ask What You Are", hay un patrón recurrente de la letra T seguida de un espacio en "no es" y "es qué". Si el compresor escribe este patrón en el diccionario, escribirá un "1" siempre que una "t" vaya seguida de un espacio. Sin embargo, en esta breve oración, este patrón no ocurre suficientes veces para calificarlo como una entrada en el diccionario, por lo que el programa finalmente lo sobrescribe.

Lo siguiente que nota el programa es ou, que aparece tanto en el tuyo como en tu país. Si se trata de un documento extenso, escribir este patrón en un diccionario ahorrará mucho espacio; ou es una combinación de letras muy común en inglés. Pero después de que Compressor miró la oración completa, inmediatamente encontró una mejor opción para la entrada del diccionario: no solo se repitió ou, sino que también se repitieron las palabras completas your y country, y en realidad se repitieron juntas como una frase your country. En este ejemplo, el programa sobrescribirá la entrada ou en el diccionario con la entrada de su país.

La frase puedo hacer por también se repite, una vez contigo y otra contigo, por lo que encontramos que puedo hacer por ti también es un patrón repetido. De esta manera, podemos usar un número para reemplazar los caracteres de 15 (espacios incluidos), y su país solo nos permite usar un número para reemplazar los caracteres de 13 (espacios incluidos), por lo que el programa sobrescribirá la entrada de su país con la entrada del país r, luego escriba una entrada separada que pueda hacer por usted. El programa continúa trabajando de esta manera, seleccionando cualquier información duplicada y luego calculando qué patrón debe escribirse en el diccionario. La parte "adaptativa" del algoritmo LZ basado en diccionario adaptativo se refiere a esta capacidad de reescribir el diccionario. El proceso mediante el cual un programa realiza este trabajo es bastante complejo.

Independientemente del método utilizado, este mecanismo de búsqueda profunda comprime archivos de manera más eficiente que simplemente seleccionar palabras. Si usamos el patrón extraído arriba y luego reemplazamos los espacios con "_ _", terminamos con este diccionario más grande:

Preguntar __

¿Qué__?

r _ _país

_ _puedes hacer_ _cosas por_ _ti_

Oraciones más cortas:

" 1 not _ _ 2345 _ _-_ _ 12354 "

Las oraciones ocupan 18 unidades de almacenamiento y los diccionarios ocupan 41 unidades de almacenamiento. Por lo tanto, comprimimos el tamaño total del archivo de 79 unidades a 59 unidades. Esta es sólo una forma de comprimir oraciones, no necesariamente la más eficiente. ¡Vea si puede encontrar una manera mejor! )

Ventajas

Editar

Entonces, ¿qué tan bueno es este mecanismo? Las tasas de compresión de archivos dependen de muchos factores, incluido el tipo de archivo, el tamaño del archivo y el esquema de compresión.

En la mayoría de los idiomas del mundo, algunas letras y palabras suelen aparecer juntas en el mismo patrón. Precisamente debido a esta alta redundancia, la tasa de compresión de archivos de texto es alta. Normalmente, los archivos de texto de tamaño adecuado pueden alcanzar índices de compresión del 50% o más.

La mayoría de los lenguajes de programación también son muy redundantes porque tienen relativamente pocos comandos y los comandos suelen seguir un patrón fijo. Para archivos que contienen mucha información no repetitiva (como imágenes o archivos MP3), este mecanismo no se puede utilizar para obtener relaciones de compresión altas porque no contienen patrones repetidos.

Si un archivo tiene una gran cantidad de patrones repetidos, la relación de compresión generalmente aumentará a medida que aumenta el tamaño del archivo. Esto se puede ver en nuestro ejemplo: si extraemos el discurso de JFK para que sea más largo, encontrará que el patrón en nuestro diccionario aparece muchas veces, por lo que puede guardar más archivos con cada espacio de entrada del diccionario. Además, para archivos más grandes puede haber un patrón más general que crea un diccionario más eficiente.

Además, la eficiencia de la compresión de archivos también depende del algoritmo específico utilizado por el programa de compresión. Algunos programas son mejores para encontrar patrones en ciertos tipos de archivos y, por lo tanto, pueden comprimir esos tipos de archivos de manera más eficiente. Otros programas de compresión utilizan diccionarios en su diccionario, lo que hace que funcionen bien al comprimir archivos grandes pero menos eficientes al comprimir archivos más pequeños. Aunque todos estos programas de compresión se basan en la misma idea básica, los realizan de diferentes maneras. Los programadores siempre están intentando crear un mejor mecanismo de compresión.

Compresión con pérdida y sin pérdida

Edición

El tipo de compresión que analizamos anteriormente se llama compresión sin pérdida porque el archivo que se recrea es exactamente el mismo que el archivo original. . Toda compresión sin pérdidas se basa en la idea de cambiar un archivo a un formato "más pequeño" para su transmisión o almacenamiento, y luego restaurarlo después de que la otra parte lo reciba para su reutilización.

La compresión con pérdida es completamente diferente. Estos programas simplemente eliminan información "innecesaria" y cortan archivos para hacerlos más pequeños. Este tipo de compresión se usa ampliamente para reducir el tamaño del archivo de imágenes de mapa de bits, ya que las imágenes de mapa de bits suelen ser de tamaño muy grande. Para comprender cómo funciona la compresión con pérdida, veamos cómo su computadora comprime las fotografías escaneadas.

Para este tipo de archivos, la relación de compresión de los programas de compresión sin pérdidas no suele ser alta. Si bien la mayoría de las imágenes tienen el mismo aspecto (por ejemplo, todo el cielo es azul), existen diferencias sutiles entre la mayoría de los píxeles. Para reducir una imagen sin reducir la resolución, es necesario cambiar los valores de color de ciertos píxeles. Si la imagen contiene mucho cielo azul, el programa elegirá un color azul que pueda usarse para todos los píxeles. Luego, el programa reescribe este archivo y todos los valores de los píxeles del cielo utilizan esta información. Si el esquema de compresión se elige correctamente, no notará ningún cambio, pero el tamaño del archivo se reducirá significativamente.

Por supuesto, con la compresión con pérdida, no se puede restaurar el archivo original después de la compresión. Debe aceptar la reinterpretación del archivo original por parte del programa de compresión. Por lo tanto, si necesita reproducir completamente el contenido original (como aplicaciones de software, bases de datos y discursos inaugurales presidenciales), no debe utilizar esta forma de compresión.