Volver a la portadaPrincipios de Computación AP® · Principios de Computación AP · Cambiar asignatura
Empezar gratis
Computación AP · Principios de Computación AP®
AP Computer Science Principles: Datos, algoritmos e impacto · Gran idea 2: Datos

Compresión de datos

Olivia tiene un plan de celular con 6,000 MB de datos al mes y le encanta ver videos. Un video en alta calidad se come sus datos en unos días, pero la versión de «ahorro de datos» le rinde mucho más. ¿Cómo es posible que el mismo video ocupe menos espacio? ¿Y qué pierde Olivia a cambio? Eso es la compresión de datos.

Qué es comprimir

Comprimir es representar la misma información con menos bits. Un archivo más pequeño se guarda en menos espacio y viaja más rápido por Internet, porque hay menos bits que enviar.

Casi siempre se comprime porque los datos tienen repeticiones o detalles que casi nadie nota. Una foto del cielo tiene miles de píxeles casi del mismo azul. Un texto repite palabras. Una canción tiene sonidos que el oído apenas distingue.

Hay dos grandes familias:

Comparación: la compresión sin pérdida recupera el original exacto; la compresión con pérdida da una aproximación. Original Comprimido Exacto Original Comprimido Aproximado Sin pérdida (lossless) Con pérdida (lossy)

Ejemplos que conviene conocer:

Tipo Formatos Se usa para
Sin pérdida ZIP, PNG, FLAC Documentos, hojas de cálculo, programas, capturas de pantalla
Con pérdida JPEG, MP3, video en streaming Fotos, música y video para ver o escuchar
Practica★☆☆Sin empezar
Define con tus propias palabras la compresión sin pérdida (lossless) y la compresión con pérdida (lossy). Luego clasifica cada caso como sin pérdida o con pérdida: (i)…

Define con tus propias palabras la compresión sin pérdida (lossless) y la compresión con pérdida (lossy). Luego clasifica cada caso como sin pérdida o con pérdida: (i) un archivo ZIP de una hoja de cálculo, (ii) la versión MP3 de una canción, (iii) una foto JPEG guardada con baja calidad.

Resolver

Cuánto se reduce: el porcentaje

Para comparar compresiones se usa el porcentaje de reducción:

$$\text{reducción} = \frac{\text{tamaño original} - \text{tamaño comprimido}}{\text{tamaño original}} \times 100\%$$

Se divide entre el original porque queremos saber qué fracción del archivo se «ahorró».

Practica★☆☆Sin empezar
Un archivo de 12 MB se comprime a 3 MB. a) ¿En qué porcentaje se redujo el tamaño del archivo? b) ¿Puedes saber solo con estos números si la compresión fue sin pérdida o…

Un archivo de 12 MB se comprime a 3 MB.

  1. a) ¿En qué porcentaje se redujo el tamaño del archivo?
  1. b) ¿Puedes saber solo con estos números si la compresión fue sin pérdida o con pérdida? Explica.
Resolver
Practica★★☆Sin empezar
Sofia tiene una foto original de 24 MB. La aplicación de edición ofrece estas configuraciones de exportación con pérdida: | Configuración | Tamaño del archivo |…

Sofia tiene una foto original de 24 MB. La aplicación de edición ofrece estas configuraciones de exportación con pérdida:

Configuración Tamaño del archivo
Alta 6 MB
Media 2 MB
Baja 0.5 MB
  1. a) Calcula el porcentaje de reducción del tamaño para cada configuración, redondeado a la décima de porcentaje más cercana.
  1. b) ¿Qué configuración elegirías para una miniatura en un sitio web? ¿Cuál guardarías para imprimir un póster más adelante? Explica, y di qué debe hacer Sofia con el archivo original.
Resolver

Cómo se comprime sin pérdida

Codificación por longitud de series

La codificación por longitud de series (run-length encoding, RLE) reemplaza una repetición por un conteo seguido del carácter: AAA se convierte en 3A.

RLE es sin pérdida: con la versión codificada se reconstruye exactamente la original. Funciona muy bien con datos con muchas repeticiones (un logo de pocos colores), pero con datos sin repeticiones puede hacer el archivo más grande: ABCD se vuelve 1A1B1C1D.

Códigos de longitud variable

Un texto con 4 letras se puede guardar con 2 bits por letra. Pero si una letra aparece mucho más que las demás, conviene darle un código más corto, y a las raras uno más largo. En promedio se usan menos bits.

Sigue siendo sin pérdida: ningún código es el comienzo de otro, así que al leer los bits solo hay una forma de separar las letras. Por ejemplo, 0 solo puede ser A, y 10 solo B.

Practica★★☆Sin empezar
La codificación por longitud de series (run-length encoding) reemplaza los caracteres repetidos por un conteo seguido del carácter. Por ejemplo, AAA se convierte en 3A.…

La codificación por longitud de series (run-length encoding) reemplaza los caracteres repetidos por un conteo seguido del carácter. Por ejemplo, AAA se convierte en 3A.

  1. a) Codifica la cadena AAAABBBCCD. ¿Cuántos caracteres tiene la original y cuántos la versión codificada?
  1. b) Decodifica 3X5Y1Z.
  1. c) ¿La codificación por longitud de series es sin pérdida o con pérdida? Justifica tu respuesta.
Resolver
Practica★★★Sin empezar
Un mensaje tiene 1,000 caracteres, y cada carácter es una de cuatro letras: A, B, C o D. Las letras aparecen con estas frecuencias: A 50%, B 25%, C 12.5%, D 12.5%. a)…

Un mensaje tiene 1,000 caracteres, y cada carácter es una de cuatro letras: A, B, C o D. Las letras aparecen con estas frecuencias: A 50%, B 25%, C 12.5%, D 12.5%.

  1. a) ¿Cuántos bits necesita el mensaje si cada carácter se guarda con 8 bits? ¿Y con un código fijo de 2 bits por carácter?
  1. b) Un código de longitud variable usa A = 0, B = 10, C = 110, D = 111. Calcula el promedio de bits por carácter y el total de bits para el mensaje de 1,000 caracteres.
  1. c) ¿El código de longitud variable es sin pérdida o con pérdida? Explica por qué no se pierde información y explica por qué una letra frecuente debe recibir un código más corto.
Resolver

Con pérdida: elegir y justificar

La compresión con pérdida logra archivos mucho más pequeños porque descarta lo que menos se nota: variaciones finas de color en un JPEG, o sonidos muy agudos en un MP3. Cuanto más se comprime, más se pierde, y esa pérdida no se puede deshacer.

Elegir es una concesión (trade-off):

Factor Sin pérdida Con pérdida
Tamaño Mayor Mucho menor
Calidad Exacta Algo menor
Se puede recuperar el original Sí No
Datos y tiempo de descarga Más Menos

Pregúntate: ¿puedo permitirme perder detalles?

  • Contrato, código o hoja de cálculo: un solo carácter cambiado arruina todo. Usa sin pérdida.

  • Video en el celular con datos limitados, o miniatura de una página web: el ojo no nota la diferencia. Usa con pérdida.

  • Archivo que quizá edites o imprimas más adelante: guarda el original (o una copia sin pérdida). Si comprimes con pérdida y borras el original, no hay vuelta atrás.

Practica★☆☆Sin empezar
Un bufete de abogados quiere comprimir un contrato escaneado antes de enviarlo por correo, y cada carácter debe quedar exactamente igual. ¿Debe usar compresión sin…

Un bufete de abogados quiere comprimir un contrato escaneado antes de enviarlo por correo, y cada carácter debe quedar exactamente igual. ¿Debe usar compresión sin pérdida o con pérdida? Explica tu elección en dos o tres oraciones.

Resolver
Practica★★☆Sin empezar
Olivia tiene un plan de celular con un límite de datos de 6,000 MB al mes. Una hora de video usa 1,200 MB en alta calidad y 450 MB en una calidad de «ahorro de datos»…

Olivia tiene un plan de celular con un límite de datos de 6,000 MB al mes. Una hora de video usa 1,200 MB en alta calidad y 450 MB en una calidad de «ahorro de datos» con pérdida.

  1. a) ¿Cuántas horas completas de video puede ver cada mes en cada calidad?
  1. b) Describe una concesión (trade-off) que hace al elegir la calidad de ahorro de datos.
Resolver
Practica★★★Sin empezar
Un servicio de música en línea guarda cada canción en dos versiones: una versión sin pérdida de 40 MB y una versión con pérdida de 4 MB. La biblioteca de un usuario…

Un servicio de música en línea guarda cada canción en dos versiones: una versión sin pérdida de 40 MB y una versión con pérdida de 4 MB. La biblioteca de un usuario tiene 500 canciones.

  1. a) Calcula el almacenamiento total que necesita la biblioteca en cada versión, en GB. Usa $1\text{ GB} = 1{,}000\text{ MB}$.
  1. b) Recomienda una versión para (i) una persona que escucha música con audífonos en el autobús escolar y tiene un celular con almacenamiento limitado, y (ii) un ingeniero de sonido que archiva grabaciones para remezclarlas después. Justifica cada elección usando la concesión entre tamaño y calidad.
  1. c) Explica por qué convertir un archivo con pérdida de nuevo a un formato sin pérdida no recupera la calidad original.
Resolver

Resumen

  • Comprimir es guardar la misma información (o casi) con menos bits, para ahorrar espacio y tiempo de transferencia.

  • Sin pérdida (lossless): se recupera el original exacto (ZIP, PNG). Con pérdida (lossy): se descarta información y no se recupera (JPEG, MP3).

  • Reducción: $\frac{\text{original} - \text{comprimido}}{\text{original}} \times 100\%$. El tamaño no revela por sí solo si hubo pérdida.

  • RLE y los códigos de longitud variable son sin pérdida: los símbolos frecuentes reciben códigos cortos.

  • Elegir es una concesión entre tamaño y calidad: sin pérdida cuando todo debe ser exacto; con pérdida cuando importa ahorrar y se tolera perder detalle. Conserva el original si lo vas a necesitar.

Vuelve al principio: Olivia ve más video porque la compresión con pérdida descarta detalles que apenas se notan. La concesión es algo menos de calidad de imagen.

Ver todos los ejercicios de este apartado