Si se piensa en el tipo de imagen que con frecuencia se envía por fax —una hoja blanca con algo de texto—, inmediatamente llama la atención el enorme desperdicio de bits incurrido por la representación, en la que cada pixel se representa por un bit, pues es de esperarse que una imagen de este tipo tenga muchos espacios en blanco. Por supuesto, esto no sucede con cualquier imagen, pero con muchas sí.
De manera que el computólogo se pregunta cómo encontrar una representación más eficiente o, dicho de otro modo, cómo comprimir una secuencia de bits como la anterior en otra más pequeña sin perder información. De hecho, muchos sistemas de compresión permiten inclusive perder algo de información, con el objetivo de comprimir aún más la entrada. Ya se ha visto cómo representar los números naturales 0, 1, 2, 3… mediante bits. Así se puede codificar una imagen escribiendo, renglón por renglón, el número consecutivo de pixeles blancos, seguido por el de negros, luego blancos, etc. O sea, que se podrían representar los primeros cinco renglones de la cara de una imagen mediante la palabra (donde las comas indican que son diez pixeles consecutivos del mismo color):
222221161131213,10,10
Algo similar se hace en las máquinas de fax, que con frecuencia utilizan 100 pixeles por pulgada, por lo que una fila de pixeles blancos en la parte superior de una hoja de siete pulgadas de ancho podría ocupar 700 bits de almacenamiento. Usando el código que acabamos de describir, representamos con sólo 10 bits la fila en blanco, comprimiendo de esta manera 70 veces la información. Éste es un ejemplo extremo, en el que toda la fila es del mismo color, pero en promedio una máquina de fax logra una compresión de unas siete veces, lo que implica una reducción en la transmisión del fax en la misma proporción.
Curiosidades
Un código de barras es una manera de representar información de manera que facilite su lectura mecánica. El primer código de barras fue desarrollado en 1948 por dos estudiantes en el Instituto Drexel de Tecnología, Bernard Silver y Norman Joseph Woodland, pero no se usó comercialmente con éxito sino hasta los años ochenta. Al inicio, solamente se utilizaba para representar números, pero ahora puede representar el código ASCII completo.
La reducción del tamaño de una secuencia de bits que representa alguna información es lo que llamamos compresión. La capacidad de almacenamiento de las computadoras ha crecido a una velocidad increíble en los últimos años: de 25 años a la fecha, un millón de veces aproximadamente. Sin embargo, las necesidades de almacenamiento han crecido aún más rápido, lo cual ha hecho que las técnicas de compresión sigan siendo importantísimas en los sistemas de cómputo, que deben manejar archivos enormes de imágenes, audio y video. Una película fácilmente puede requerir de 25 000 000 000 de bits para almacenarse, estando ya comprimida. Y como un video resulta susceptible de comprimirse en gran medida, ya que un cuadro tiende a no cambiar demasiado con respecto al siguiente, y se pueden usar 25 imágenes cada segundo, se pueden alcanzar compresiones de hasta 300 veces. Entonces, ¿qué es preferible, comprar más memoria o comprimir más? Cambiar espacio por tiempo, ya que comprimir y descomprimir toma tiempo. En el recuadro acerca de Samuel Morse se puede ver un antiguo ejemplo de compresión de datos.