robot de la enciclopedia para niños

Compresión de datos para niños

Enciclopedia para niños

En el mundo de la informática, la compresión de datos es como hacer que la información ocupe menos espacio. Imagina que tienes una mochila muy llena y quieres meter más cosas; la compresión de datos hace algo parecido con los archivos digitales. Al reducir el tamaño de los datos, podemos guardarlos en menos lugar o enviarlos más rápido por internet.

Cuando los datos se hacen más pequeños, decimos que se han "comprimido". Y cuando queremos volver a usarlos en su tamaño original, los "descomprimimos". La cantidad de espacio que ocupa la información sin comprimir depende de cómo se haya grabado. Cuantos más detalles tenga, más grande será el archivo. La compresión nos ayuda a mantener esos detalles importantes usando menos espacio.

La compresión es una forma especial de codificación. Su característica principal es que el resultado final es más pequeño que el original.

La idea básica de la compresión es buscar partes que se repiten en los datos. Por ejemplo, si un archivo tiene la secuencia "AAAAAA", que ocupa 6 espacios, se podría guardar como "6A", que solo ocupa 2 espacios. Esto es un ejemplo sencillo del algoritmo RLE.

En la realidad, el proceso es más complicado. Los programas usan algoritmos de compresión para encontrar patrones y hacer los archivos más pequeños:

  • Algunos buscan secuencias largas y las codifican de forma más corta.
  • Otros, como el algoritmo de Huffman, analizan qué caracteres se repiten más para darles códigos más cortos.
  • Otros, como el LZW, crean un diccionario con los patrones que encuentran y luego solo hacen referencia a ellos.

Para entender la compresión, hay dos ideas importantes:

  • Redundancia: Son los datos que se repiten o que se pueden predecir.
  • Entropía: Es la información nueva o esencial. Es la parte del mensaje que no es repetitiva.

La información en los datos puede ser de tres tipos:

  • Redundante: Se repite o es predecible.
  • Irrelevante: Es información que no podemos notar y que no afecta al mensaje si se quita. Por ejemplo, en el sonido, hay frecuencias que el oído humano no puede escuchar.
  • Básica: Es la información importante, la que no es redundante ni irrelevante. Es la que debe transmitirse para que el mensaje se entienda bien.

Según estos tipos de información, hay diferentes formas de comprimir:

  • Sin pérdidas reales: Se elimina solo la información redundante, manteniendo toda la información básica e irrelevante. El archivo original se puede recuperar exactamente.
  • Subjetivamente sin pérdidas: Además de la información redundante, se quita también la irrelevante. El archivo recuperado es muy parecido al original, pero no idéntico.
  • Subjetivamente con pérdidas: Se elimina una parte de la información básica. El mensaje se reconstruye con algunos cambios que se pueden notar, pero que son aceptables (como en una videoconferencia).

¿Qué es la compresión con pérdida y sin pérdida?

El objetivo de la compresión es siempre reducir el tamaño de los datos. Pero esta reducción puede afectar o no la calidad de la información.

Compresión sin pérdida de calidad

La compresión sin pérdida asegura que los datos antes y después de comprimirlos son exactamente iguales. Esto significa que puedes recuperar el archivo original sin que le falte nada. Cuanto más se comprime, más tiempo tarda el proceso. Este tipo de compresión se usa mucho para textos y documentos importantes, donde cada letra cuenta.

Compresión con pérdida de calidad

Un algoritmo de compresión con pérdida puede eliminar algunos datos para hacer el archivo aún más pequeño. Esto reduce la calidad, pero a menudo de una manera que no se nota mucho. Una vez que se comprime con pérdida, no se puede recuperar el archivo original exacto, solo una versión muy parecida. Este tipo de compresión es común en imágenes, vídeos y sonidos. Por ejemplo, el formato JPEG para imágenes usa compresión con pérdida. Elimina información que el ojo humano no percibe fácilmente, logrando archivos mucho más pequeños.

Usos de la compresión de datos

Compresión de imágenes

La compresión de imágenes ha evolucionado mucho. Técnicas como la codificación Huffman (desde 1950) y la transformada rápida de Fourier (desde 1968) fueron importantes.

Una técnica clave es la transformada de coseno discreta (DCT), desarrollada en los años 70. La DCT es la base del formato JPEG, que apareció en 1992. JPEG reduce mucho el tamaño de las imágenes con una pequeña pérdida de calidad, y por eso es el formato de archivo de imagen más usado. Su eficiencia ayudó a que las fotos digitales se hicieran tan populares.

Otros algoritmos sin pérdidas son Lempel-Ziv-Welch (LZW), usado en el formato GIF (desde 1987), y DEFLATE, usado en Portable Network Graphics (PNG) desde 1996.

La compresión wavelet es otra técnica que se usa en el estándar JPEG 2000 (desde el año 2000). Este formato usa algoritmos de transformada de ondícula discreta (DWT) y fue elegido para el cine digital en 2004.

Compresión de audio

La compresión de audio reduce el tamaño de los archivos de sonido. Esto es útil para que ocupen menos espacio o se transmitan más rápido. Los programas que hacen esto se llaman códecs de audio.

Los algoritmos de compresión de audio con pérdidas logran una mayor reducción de tamaño. Se usan en formatos como Vorbis y MP3. Estos algoritmos se basan en la psicoacústica, que estudia cómo percibimos el sonido. Así, eliminan o reducen la calidad de los sonidos que son menos audibles para el oído humano.

Por ejemplo, un disco compacto (CD) de música sin comprimir puede durar una hora. Pero si se comprime en formato MP3 con una calidad media, puede durar hasta 7 horas en el mismo espacio.

La compresión de audio sin pérdidas crea una copia digital exacta del original. Los archivos comprimidos suelen ser un 50-60% más pequeños. Se usan para guardar archivos importantes o como copias maestras.

Compresión de audio con pérdidas

La compresión de audio con pérdidas se usa en muchos lugares: reproductores MP3, DVDs de vídeo, televisión digital, música en Internet y radio. Logra una compresión mucho mayor que la compresión sin pérdidas porque descarta los datos menos importantes para el oído.

La psicoacústica nos dice que no toda la información de un sonido es percibida por el sistema auditivo humano. La mayoría de los algoritmos con pérdidas identifican los sonidos que son difíciles de oír (como frecuencias muy altas o sonidos que se mezclan con otros más fuertes) y los codifican con menos precisión o los eliminan.

Como se pierden datos, la calidad del audio puede disminuir si un archivo se descomprime y se vuelve a comprimir. Por eso, no es ideal para trabajos profesionales de edición de sonido. Sin embargo, formatos como el MP3 son muy populares porque reducen el tamaño del archivo a un 5-20% del original, y un megabyte puede guardar aproximadamente un minuto de música con buena calidad.

Métodos de codificación de audio

Para decidir qué información de audio es menos importante, muchos algoritmos con pérdidas usan transformaciones como la transformada de coseno discreta (MDCT). Esto convierte las ondas de sonido en información de frecuencia, donde se puede priorizar qué sonidos son más audibles. Se usan modelos que imitan cómo el oído y el cerebro humano perciben el sonido, considerando el umbral absoluto de audición y el enmascaramiento simultáneo (cuando un sonido fuerte oculta a otro más débil).

Otros compresores con pérdidas, como la codificación predictiva lineal (LPC) para el habla, usan un modelo del aparato vocal humano para analizar los sonidos del habla.

Los formatos con pérdidas se usan a menudo para transmitir audio en tiempo real, como en llamadas telefónicas o música en streaming. En estos casos, los datos se descomprimen a medida que llegan.

La latencia es el retraso que se produce al codificar y decodificar los datos. Algunos códecs analizan un segmento más largo de datos para ser más eficientes, lo que puede aumentar la latencia. En una conversación telefónica, un gran retraso puede afectar la calidad.

Codificación del habla

La codificación del habla es una parte importante de la compresión de audio. Los modelos que se usan para el habla son diferentes a los de la música. El rango de frecuencias de la voz humana es más estrecho y el sonido es menos complejo. Por eso, la voz se puede comprimir mucho manteniendo una buena calidad.

Esto se logra de dos maneras:

  • Codificando solo los sonidos que una voz humana puede producir.
  • Descartando la mayor parte de los datos de la señal, dejando solo lo suficiente para reconstruir una voz "inteligible".

Los primeros algoritmos para el habla fueron el algoritmo A-law y el algoritmo μ-law.

Historia de la compresión de audio

Las primeras investigaciones sobre audio se hicieron en los Laboratorios Bell en los años 50. En 1974, la transformada de coseno discreta (DCT) fue desarrollada por Nasir Ahmed, T. Natarajan y K. R. Rao. Esta técnica es la base de formatos modernos como MP3, Dolby Digital y AAC.

En 1983, Oscar Bonello desarrolló el primer sistema comercial de automatización de audio para PC, llamado Audicom, usando principios de psicoacústica.

Compresión de vídeo

El vídeo sin comprimir ocupa muchísimo espacio. Un vídeo comprimido con pérdida, como el formato H.264, puede ser entre 20 y 200 veces más pequeño que el original.

Las dos técnicas principales de compresión de vídeo son la transformada de coseno discreta (DCT) y la compensación de movimiento (MC). La mayoría de los estándares de vídeo, como los formatos H.26x y MPEG, usan estas técnicas.

Los códecs de vídeo suelen combinarse con técnicas de compresión de audio para guardar los datos en un solo paquete, usando lo que se llama un formato contenedor.

¿Cómo funciona la compresión de vídeo?

Los vídeos son una serie de imágenes fijas (fotogramas). Estos datos suelen tener mucha información repetida en el espacio (dentro de una imagen) y en el tiempo (entre imágenes). Los algoritmos de compresión de vídeo buscan reducir esta información repetida.

La mayoría de los formatos de vídeo aprovechan estas repeticiones. Por ejemplo, solo guardan las diferencias entre fotogramas cercanos (codificación intercuadro) o entre píxeles cercanos (codificación intracuadro). La compresión entre fotogramas usa datos de fotogramas anteriores o posteriores para describir el fotograma actual. La codificación intracuadro solo usa datos del fotograma actual, como la compresión de imágenes.

La compresión de vídeo también usa técnicas con pérdidas, como la cuantización. Esto reduce los detalles que el ojo humano no percibe bien, como pequeñas diferencias de color. Como en toda compresión con pérdidas, hay un equilibrio entre la calidad de vídeo y el tamaño del archivo. Los vídeos muy comprimidos pueden mostrar "artefactos" o imperfecciones.

Codificación entre fotogramas

En la codificación entre fotogramas, se comparan los fotogramas de un vídeo. El códec registra solo las diferencias. Si una parte del fotograma no se ha movido, el sistema simplemente indica que se copie esa parte del fotograma anterior. Si una sección se mueve de forma sencilla, el compresor puede indicar que se mueva, gire o cambie de brillo. Esto es mucho más corto que guardar toda la información de nuevo. En las zonas con mucho movimiento, la compresión debe guardar más datos, lo que puede reducir la calidad o aumentar el tamaño del archivo.

Formatos híbridos basados en bloques

Archivo:Hybrid video encoder processing stages
Etapas de procesamiento de un codificador de vídeo típico.

Casi todos los métodos de compresión de vídeo actuales usan una estructura similar a la del estándar H.261 (de 1988). Se basan en la DCT, aplicada a pequeños bloques de píxeles, y en la predicción temporal usando vectores de movimiento.

Primero, se eliminan las repeticiones y se describen los nuevos datos basándose en los ya transmitidos. Luego, los bloques de píxeles se transforman. En la etapa principal con pérdidas, los datos se ajustan para reducir la información que no es importante para la vista humana. Finalmente, se eliminan las repeticiones estadísticas usando un codificador de entropía.

También se pueden aplicar filtros a la imagen reconstruida para mejorar la compresión. Por ejemplo, los filtros de desbloqueo eliminan los "bloques" que a veces aparecen en vídeos muy comprimidos.

Historia de la compresión de vídeo

La transformada de coseno discreta (DCT), fundamental para la compresión de vídeo moderna, fue introducida en 1974.

H.261, que apareció en 1988, fue el primer formato de codificación de vídeo comercial basado en la compresión DCT.

Los estándares de vídeo más populares son los MPEG. MPEG-1 (1991) fue diseñado para vídeo con calidad VHS. Le siguió MPEG-2/H.262 (1994), que se convirtió en el formato estándar para DVD y televisión digital SD. En 1999, llegó MPEG-4/H.263.

H.264/MPEG-4 AVC (2003) introdujo algoritmos modernos como la codificación aritmética binaria adaptable al contexto (CABAC). AVC es el estándar principal para discos Blu-ray y se usa mucho en sitios web como YouTube y Netflix, y en transmisiones de HDTV.

Galería de imágenes

Véase también

Kids robot.svg En inglés: Data compression Facts for Kids

kids search engine
Compresión de datos para Niños. Enciclopedia Kiddle.