La única función de la cámara es no resultar un estorbo para el fotógrafo cuando este hace sus fotos.
KEN ROCKWELL,
Por qué tu cámara no importa
La humanidad sube a internet cerca de un billón de fotografías al año, lo que indica una estimación demasiado optimista del interés que pueden tener los demás en nuestros selfis de vacaciones, en el bebé recién nacido o en objetos varios, algunos innombrables. Es rápido, es fácil y todos los teléfonos son cámaras. Se invierte una gran cantidad de matemáticas en el diseño y la fabricación de estas últimas. Esas lentes de alta precisión en miniatura son milagros de la tecnología e implican algunos elementos de física matemática muy sofisticados acerca de la refracción de la luz en medios sólidos curvos. En este capítulo, me quiero centrar solo en un aspecto de la fotografía actual: la compresión de imágenes. Las cámaras digitales, incorporadas a un teléfono o independientes, guardan imágenes muy detalladas como archivos binarios. Las tarjetas de memoria parecen poder almacenar más información de la que les cabe en realidad. ¿Cómo es capaz un archivo informático pequeño de contener tantas fotografías detalladas?
Lo cierto es que estas fotografías incluyen mucha información redundante que puede eliminarse sin perder definición. Hay técnicas matemáticas que lo hacen posible de manera sistemática y calculada con cuidado. El estándar JPEG en las cámaras digitales automáticas pequeñas, que hasta hace muy poco era el formato de archivo más común y que todavía se usa mucho, emplea cinco transformaciones matemáticas separadas, realizadas en sucesión. Estas incluyen análisis de Fourier discreto, álgebra y teoría de códigos. Las transformaciones están incorporadas en el software del aparato, que comprime los datos antes de escribirlos en la tarjeta de memoria.
A no ser, claro, que se prefiera el formato RAW, que es, en esencia, lo que la cámara ha captado tal cual es. La capacidad de las tarjetas de memoria crece con tanta rapidez que ya no es imprescindible comprimir los archivos. Pero entonces se acaba por manipular imágenes de 32 MB, cuando solían tener una décima parte de ese tamaño, y se tarda más en subirlos a la nube. Si la molestia merece la pena o no, depende de quién sea el usuario y para qué quiere las fotos. Si es un profesional, es probable que sea imprescindible. Mientras que si es un turista de los de cámara automática, como yo, le puede caber una imagen buena de verdad de un tigre en un archivo JPEG de 2 MB.
La compresión de imágenes es una parte importante del problema más general de la compresión de datos y no deja de ser de vital importancia a pesar de los enormes avances en la tecnología. Cada vez que el internet de próxima generación se hace diez veces más veloz y adquiere una capacidad mayor, algún genio inventa un nuevo formato (vídeo tridimensional de ultra alta definición, pongamos por caso) que necesita muchísimos más datos que antes, y vuelta a la casilla de salida.
En ocasiones, no hay otra opción más que aprovechar cada byte de capacidad de un canal de señales. El 4 de enero de 2004, en Marte, algo cayó del cielo, chocó contra el suelo y rebotó. De hecho, el Mars Exploration Rover A, también conocido como Spirit, dio 27 botes, rodeado como estaba por globos inflables como una especie de plástico de burbujas cósmico, un aterrizaje puntero. Después de una comprobación general y varios procedimientos de arranque, se puso en marcha para explorar la superficie de aquel planeta y pronto se le unió su compañero, Opportunity. Estos dos vehículos tuvieron un éxito enorme y han enviado a la Tierra cantidades enormes de datos. En ese momento, el matemático Philip Davis señaló que la misión descansaba sobre una cantidad tremenda de matemáticas, pero que «el público casi no es consciente de esto». Resulta que no era solo el público. En 2007, Uffe Jankvist y Bjørn Toldbod, estudiantes de posgrado de matemáticas en Dinamarca, visitaron el Laboratorio de Propulsión a Chorro en Pasadena en una misión de investigación periodística: sacar a la luz las matemáticas ocultas en el programa Mars Rover. Pero les dijeron:
—No tenemos nada de eso. De verdad que no empleamos algebra abstracta, ni teoría de grupos ni nada de eso.
Esto era preocupante, así que uno de los daneses preguntó:
—¿Excepto en el canal de codificación?
—¿Eso emplea álgebra abstracta?
—Los códigos Reed-Solomon se basan en campos de Galois.
—La primera noticia que tengo.
De hecho, las misiones espaciales de la NASA emplean unas matemáticas muy avanzadas para comprimir y codificar datos de una manera que corrija los errores inevitables de transmisión. Es algo necesario cuando el emisor se encuentra a mil millones de kilómetros de la Tierra y tiene la potencia de una bombilla. (Enviar los datos a través de un satélite artificial en la órbita de Marte, como Mars Odissey o Mars Global Surveyor, también ayuda algo.) La mayor parte de los ingenieros no necesitan saberlo, así que lo ignoran. Es un microcosmos de la incomprensión pública de las matemáticas.
*
Todo lo que hay en un ordenador, sea un correo electrónico, una imagen, un vídeo o un disco de Taylor Swift, se almacena en la memoria como una cadena de dígitos binarios, «bits», 0 y 1. Ocho de ellos forman un byte, y 1.048.576 bytes, un megabyte (MB). Una fotografía habitual de baja resolución ocupa cerca de 2 MB. Aunque todos los contenidos digitales tienen esta forma, las diferentes aplicaciones emplean formatos distintos, de modo que el significado de los datos depende del software. Todos los tipos de archivos tienen una estructura matemática oculta y a menudo es más importante la conveniencia del procesado que el tamaño. Dar formato a los datos de manera adecuada puede hacer que sean redundantes, por lo que se utilizan más bits de los que requiere en realidad el contenido de información. Esto brinda la oportunidad de comprimir los datos al eliminar la redundancia.
El idioma escrito (y hablado) es redundante en un grado muy alto. Para demostrarlo, he aquí una frase anterior de este capítulo en la que se ha eliminado cada quinto carácter:
rode_do c_mo e_taba_por _lobo_ inf_able_ com_ una_espe_ie
d_ plá_tico_de bu_buja_
Es probable que se pueda adivinar lo que dice con un poco de esfuerzo y atención. La información restante es suficiente para reconstruir la totalidad de la frase original.
Sea como fuere, este libro será mucho más agradable a la vista si no convenzo a la editorial de eliminar cada quinta letra para ahorrar tinta. Las palabras correctas resultan más fáciles de procesar para el cerebro porque es lo que ha aprendido a hacer. No obstante, cuando se quiere transmitir una cadena de bits a un receptor, una secuencia más corta de 0 y 1 es más eficaz. En los albores de la teoría de la información, pioneros como Claude Shannon se dieron cuenta de que la redundancia permite codificar una señal con menos bits. De hecho, él mismo demostró una fórmula que decía cuánto se puede acortar una señal mediante un código para una cantidad dada de redundancia.
Esta es esencial, porque los datos que no son redundantes no se pueden comprimir sin perder información. La demostración es una sencilla reducción al absurdo. Supongamos, por ejemplo, que alguien está interesado en mensajes que tienen una longitud de diez bits, como 1001110101. Hay exactamente 1.024 cadenas como esta. Supongamos que quiere comprimir estos diez bits de datos en ocho, de los cuales hay exactamente 256 combinaciones posibles. De modo que hay cuatro veces más mensajes que secuencias comprimidas. No existe forma alguna de asignar una cadena de ocho bits a cada combinación de diez dígitos y que cada una de estas reciba ocho caracteres diferentes al resto. Si cada mensaje de diez bits tiene la misma probabilidad de aparecer, resulta que no hay modo alguno, por astuto que sea, de superar esta limitación. No obstante, si algunos mensajes son muy comunes y otros muy raros, puede elegirse un código que asigne cadenas cortas (pongamos seis bits) a los más comunes y otras más largas (pongamos doce bits) a los que no lo son tanto. Hay montones de combinaciones posibles de doce dígitos, así que no se van a agotar nunca. Cada vez que aparece un mensaje poco común se suman dos bits a la longitud, pero cada vez que hay uno que sí lo es se reducen cuatro. Con las probabilidades adecuadas, se quitan más bits de los que se añaden.
Ha surgido una rama entera de las matemáticas, la teoría de códigos, en torno a estas técnicas. En general, son mucho más sutiles que la que he explicado y aprovechan de manera habitual características del álgebra abstracta para definir los códigos. Esto no debería resultar sorprendente: ya se ha visto en el capítulo 5 que estos últimos son, en lo fundamental, funciones matemáticas y que las que se toman de la teoría de números son particularmente útiles. El objetivo en ese caso era la confidencialidad, mientras que aquí es la compresión de datos, pero son válidos los mismos argumentos generales. El álgebra se refiere a la estructura, al igual que la redundancia.
La compresión de datos, y por lo tanto de imágenes, aprovecha la redundancia para crear códigos que reducen el tamaño de los archivos de algún tipo concreto. En ocasiones, el método de compresión no tiene pérdidas: la información original puede reconstruirse de manera exacta a partir de la versión comprimida. En otras, se pierden datos y la reconstrucción solo es una aproximación del archivo original. Esto sería un problema para, digamos, el saldo del banco, pero a menudo no lo es para imágenes: el truco está en disponer las cosas de modo que la aproximación tenga la misma apariencia que la imagen original para el ojo humano. En ese caso la información que se pierde de manera irremediable no tiene mayor importancia.
La mayor parte de las imágenes del mundo real son redundantes. Las instantáneas de las vacaciones a menudo contienen grandes superficies de cielo azul, en general del mismo tono celeste, de modo que es posible sustituir un montón de píxeles, que contienen todos el mismo número, por dos pares de coordenadas de las esquinas opuestas de un rectángulo y por un código corto que viene a decir «rellenar esta región con este tono de azul». Este método no tiene pérdidas. No es el que se utiliza en realidad, pero ilustra el motivo por el que la compresión sin pérdidas es factible.
*
Soy de la vieja escuela. Es decir, uso una cámara con una tecnología que es por lo menos de, ¡halaaaaaa!, diez años atrás. ¡Vergonzoso! Estoy lo bastante puesto al día en tecnología como para emplear mi teléfono para tomar instantáneas en ocasiones, pero no es algo que me salga de manera natural y en viajes de vacaciones importantes, como un safari fotográfico de tigres en los parques nacionales de India, prefiero llevar una pequeña cámara digital automática. Crea archivos de imagen con nombres como IMG_0209.JPG. La nomenclatura JPG indica que el formato es JPEG, las iniciales de Joint Photographic Experts Group, y se refiere a un sistema de compresión de datos. Es un estándar del sector, aunque ha evolucionado a lo largo de los años y ahora se presenta en varias formas diferentes desde el punto de vista técnico.
El formato JPEG1 emplea al menos cinco pasos diferentes en sucesión, la mayoría de los cuales comprimen los datos a partir del anterior. El primero son los datos originales en bruto y los demás vuelven a codificar la fotografía para mayor compresión. Las imágenes digitales están compuestas de millones de cuadrados minúsculos, denominados píxel, del inglés picture elements. Los datos en bruto de la cámara asignan una cadena de bits a cada píxel para indicar tanto el color como el brillo. Ambas cantidades se representan de manera simultánea como proporciones de tres componentes: rojo, verde y azul. Proporciones bajas de los tres corresponden a colores pálidos y las altas, a intensos. Estos números se convierten en otros tres relacionados que se corresponden mejor con la manera en que el cerebro humano percibe las imágenes. El primero, la luminancia, se refiere al brillo general y se mide con cifras que van desde el negro hasta el blanco, pasando por tonos de gris cada vez más claros. Si se elimina la información de color, queda una imagen a la antigua, en blanco y negro (en realidad con muchos tonos de gris). Los otros dos números, conocidos como crominancia, son las diferencias entre la luminancia y las cantidades de luz azul y roja respectivamente.
De manera simbólica, si R = rojo, G = verde y B = azul, entonces los números iniciales para R, G y B se sustituyen por la luminancia, R + G + B, y las dos crominancias, (R + G + B) – B = R + G y (R + G + B) – R = G + B. Si se conocen R + G + B, R + G y G + B, es posible calcular R, G y B, de modo que no hay pérdidas en este paso.
El segundo sí tiene pérdidas. Recorta los datos de crominancia a valores más pequeños al reducir la resolución. Solo este paso reduce el tamaño del archivo a la mitad. Es aceptable porque, en comparación con lo que «ve» la cámara, el sistema visual humano es más sensible al brillo y menos a las diferencias de color.
El tercer paso es el más matemático. Comprime la información de luminancia mediante el empleo de una versión digital de la transformada de Fourier, que se vio en el capítulo 9 en relación con los escáneres médicos. En ese contexto, la transformada de Fourier original, que convierte las señales en sus frecuencias componentes o viceversa, fue modificada para representar proyecciones de imágenes en escala de grises. En esta ocasión, se representan las propias imágenes en escalas de grises, pero en un formato digital sencillo. La fotografía se divide en bloques minúsculos de píxeles de 8 × 8, de modo que hay 64 valores diferentes de luminancia posibles, uno para cada píxel. La transformada de coseno discreta, una versión digital de la transformada de Fourier, representa esta región de 8 × 8 en escala de grises como una superposición de múltiplos de 64 imágenes estándar (ver más adelante). Estos múltiplos son las amplitudes de las imágenes correspondientes. Estas tienen la apariencia de rayas y tableros de ajedrez de varias anchuras. De este modo, puede obtenerse cualquier cuadrado de píxeles de 8 × 8, así que, de nuevo, este paso no tiene pérdidas. En las coordenadas en el bloque, estos cuadrados estándar son versiones discretas de cos (mx) cos (ny) para varios números enteros m y n, dónde x está en horizontal e y en vertical y ambas van de 0 a 7.
Aunque la transformada de Fourier es discreta no tiene pérdidas, no carece de sentido aplicarla porque hace que el cuarto paso sea posible. De nuevo, este se basa en las limitaciones de sensibilidad de la visión humana, que da lugar a la redundancia. Es fácil darse cuenta si el brillo o el color varían a lo largo de una región grande en una imagen. Pero si lo hacen en zonas pequeñas, el sistema visual los difumina y se percibe solo el promedio. Es por eso que las imágenes impresas son comprensibles, incluso aunque al examinarlas de cerca representen los tonos de gris mediante distribuciones de puntos negros sobre el fondo blanco del papel. Esta característica de la visión humana quiere decir que los patrones de líneas muy delgadas son menos importantes, de modo que sus amplitudes pueden registrarse con menor precisión.
Los 64 patrones básicos de la transformada de coseno discreta.
El quinto paso es un truco técnico llamado «codificación Huffman», para registrar con más eficacia las amplitudes de los 64 patrones básicos. David Huffman inventó este método en 1951 cuando todavía era un estudiante. Se le había asignado la tarea de escribir un trabajo sobre códigos binarios de eficacia óptima, pero era incapaz de demostrar que existiera alguna codificación con esta característica. Estaba a punto de rendirse cuando se le ocurrió un método nuevo y después demostró que era el mejor de los posibles. Grosso modo, la solución es codificar un conjunto de símbolos mediante cadenas binarias y usar estas después como un diccionario para convertir un mensaje a una forma cifrada. Esto debe hacerse de modo que se reduzca al mínimo la longitud total de la información codificada.
Construcción de una codificación de Huffman.
Por ejemplo, los símbolos podrían ser las letras del alfabeto. Hay 27, de modo que bastaría con asignar cadenas de cinco bits, digamos A = 00001, B = 00010, etcétera. Se necesita que sean de cinco porque con cuatro solo pueden formarse 16 combinaciones. Pero esto sería poco eficaz, porque letras muy poco frecuentes, como la Z, emplearían el mismo número de dígitos que las comunes, como la E. Es mejor asignar una cadena corta, como 0 o 1, a E y otras de longitud progresiva al resto de letras conforme disminuye su probabilidad. No obstante, ya que las cadenas de código tienen diferentes longitudes, se necesita información adicional para indicar al receptor dónde separarlas para formar letras individuales. Puede hacerse mediante un prefijo reconocible delante de la secuencia de código, pero esta no debe contener el prefijo: ninguna cadena de código aparece como inicio de otra más larga. Si lo hiciera, no se podría saber dónde termina la primera. Una letra poco común, como Z, necesita muchos más bits, pero como no es habitual, esto se ve más que compensado por la cadena más corta de E. La longitud global de un mensaje característico es menor.
La codificación de Huffman logra este objetivo mediante la formación de un «árbol», una especie de grafo sin bucles cerrados, y es muy común en informática teórica porque representa toda una estrategia de decisiones de sí o no, cada una dependiente de la anterior. Los nodos hoja del árbol son los símbolos A, B, C... y surgen dos ramas de cada uno, correspondientes a los dos bits 0 y 1. Cada uno está etiquetado con un número, denominado peso, que indica la frecuencia con la que aparece el símbolo correspondiente. El árbol se construye paso a paso al unir las dos hojas menos frecuentes en un nuevo nodo «padre», del que los anteriores pasan a ser «hijos». El peso asignado al padre es la suma de los pesos de los dos nodos hijos. Este procedimiento continúa hasta que se han unido todos los símbolos de este modo. Entonces se lee la cadena de código de una letra a partir de la trayectoria que la lleva a ella.
Por ejemplo, en la parte superior izquierda de la imagen se muestran cinco símbolos, A, B, C, D y E y las cantidades 18, 9, 7, 4, 3, que indican lo comunes que son en lengua inglesa. Los dos menos probables son D y E. En la segunda etapa, arriba a la mitad, se unen estos para formar un nodo padre (sin número) con peso 4 + 3 = 7 y los símbolos D y E pasan a ser hijos. Las dos ramas que llevan a ellos se etiquetan 0 y 1. Este proceso se repite hasta que se han unido todos los símbolos (abajo a la izquierda). Ahora es posible leer las cadenas de código con solo seguir las trayectorias a lo largo del árbol. Hasta A se llega por una sola rama etiquetada 0. Se llega a B por la 100, a C por la 101, a D por 110 y a E por 111. Cabe destacar que A, el símbolo más común, tiene una trayectoria corta, mientras que otros menos habituales tienen otras más largas. Si en lugar de esto se hubiese empleado un código de longitud fija, se necesitarían al menos tres bits para cinco símbolos, porque solo hay cuatro combinaciones posibles de dos dígitos. En este caso, las cadenas más largas tienen tres bits, pero la más común solo uno, de modo que en promedio esta codificación es más eficaz. Este procedimiento garantiza que las secuencias no contienen prefijos porque cada trayectoria que lleva a un símbolo se detiene en él. No puede seguir a otro. Es más, al empezar con el menos probable, se asignan las cadenas más cortas a los más habituales. Es una idea muy lúcida, fácil de programar y muy sencilla desde un punto de vista conceptual una vez que se ha entendido.
Cuando la cámara crea un archivo JPEG, es la electrónica incorporada la que hace todos estos cálculos al vuelo, tan pronto como se ha tomado la fotografía. El proceso de compresión tiene pérdidas, pero la mayoría de las personas no se dan cuenta nunca. En cualquier caso, las pantallas de nuestros ordenadores y las impresiones en papel no reproducen los colores ni el brillo con exactitud, a no ser que se hayan calibrado con cuidado. Una comparación directa de la imagen original y de la versión comprimida hace que las diferencias sean más evidentes, pero incluso entonces, se necesita un experto para darse cuenta de estas cuando el tamaño del archivo se ha reducido a un 10 % del original. La mayoría de los mortales solo reparamos en ellas cuando la reducción llega a cerca del 3 %. De modo que con el formato JPEG es posible almacenar diez veces más imágenes en una tarjeta de memoria dada que con los datos RAW originales. Así es como sucede la magia, con este complicado proceso de cinco pasos, realizado en un abrir y cerrar de ojos entre bambalinas, que emplea por lo menos cinco ramas diferentes de las matemáticas.
*
Otra manera de comprimir imágenes surgió a finales de la década de 1980 a partir de la geometría de fractales. Como se recordará, un fractal es una forma geométrica con estructura detallada en todas las escalas, como la línea de la costa y las nubes. Hay una cantidad asociada a cada uno de ellos llamada dimensión fractal y que es una medida de lo fino o intrincado que es. Lo habitual es que no sea un número natural. Una clase útil de fractales, manejables desde un punto de vista matemático, comprende los que son autosimilares: fracciones pequeñas de ellos, aumentadas de manera adecuada, tienen la apariencia exacta de partes mayores del conjunto. El ejemplo clásico es un helecho, que está compuesto de docenas de ramas más pequeñas, cada una de las cuales parece un helecho en miniatura. Es posible representar los fractales autosimilares mediante un dispositivo matemático denominado sistema iterativo de funciones (SIF). Es un conjunto de reglas que dicen cómo reducir las copias de la forma y mover los rectángulos resultantes de modo que se ajusten unos con otros para reproducir el total. Puede reconstruirse el fractal a partir de estas reglas e incluso hay una fórmula para la dimensión fractal.
Un helecho fractal, hecho a partir de tres copias transformadas de sí mismo.
En 1987, Michael Barnsley, un matemático fascinado por estos objetos geométricos, se dio cuenta de que la autosimilitud podía constituir la base de un método de compresión de imágenes. En lugar de emplear grandes cantidades de dígitos para registrar cada detalle minúsculo del helecho, solo se codifica el SIF correspondiente, lo que requiere muchos menos datos. Un software puede reconstruir la imagen de la planta a partir del SIF. Junto con Alan Sloan, fundó una empresa, Iterated Systems Inc., que ha registrado más de veinte patentes. En 1992, la empresa consiguió un gran avance: un método automático para encontrar reglas de SIF adecuadas, que busca regiones pequeñas de la imagen que puedan percibirse como versiones reducidas de otras áreas tan solo un poco más grandes. De modo que emplea muchos más rectángulos para cubrir todo el conjunto. No obstante, también es completamente general y aplicable a cualquier imagen, no solo a las que son autosimilares de manera evidente. La compresión fractal no alcanzó en este terreno el grado de éxito del JPEG por una serie de motivos, pero se empleó en varias aplicaciones prácticas. Es probable que la que más éxito haya tenido sea la enciclopedia digital de Microsoft, Encarta, en la que todas las imágenes estaban comprimidas mediante un SIF.
¿Quién es? ¡Hay que entrecerrar los ojos!
A lo largo de la década de 1990, la empresa hizo arduos intentos para ampliar el método a la compresión de vídeo, pero no cuajó ninguno, sobre todo porque los ordenadores no eran lo bastante rápidos ni tenían suficiente memoria en esa época. Se tardaban quince horas en comprimir un minuto de grabación. Todo eso ha cambiado en la actualidad y se han logrado proporciones de 200:1 en compresión fractal de vídeo, en un minuto más o menos por cada fotograma. No obstante, la potencia mejorada de los ordenadores también hace que sean factibles otros métodos y se ha abandonado la compresión fractal de vídeos por el momento. Pero la idea subyacente fue útil durante un tiempo y no deja de ser una atractiva posibilidad.
*
Los seres humanos tenemos un truco muy extraño para descifrar una imagen de baja calidad: entrecerramos los ojos. Es sorprendente lo a menudo que esto nos ayuda a comprender lo que hay en realidad en la ilustración, sobre todo si está un poco borrosa o si es una imagen informática con píxeles muy gruesos. Hay una conocida fotografía compuesta de 270 cuadrados negros, blancos y grises, que creó Leon Harmon de los Laboratorios Bell en 1973 para un artículo sobre la percepción humana y el reconocimiento de patrones por ordenador. ¿Quién es? En última instancia se hace vagamente reconocible como Abraham Lincoln si se mira con detenimiento, pero si se entrecierran los ojos, parece él de verdad.
Lo hace todo el mundo, así que se sabe de sobra cómo funciona, aunque parezca una locura. ¿Por qué motivo se consigue mejorar una fotografía de baja calidad al hacer que empeore la visión? La respuesta es psicológica en parte: al entrecerrar los ojos el sistema de procesamiento visual del cerebro pasa a «modo imagen de mala calidad», lo que se presume pone en marcha algoritmos especiales para el tratamiento de la percepción ocular que han evolucionado para gestionar datos deficientes. Pero la otra parte es que, de manera paradójica, entrecerrar los ojos actúa como una especie de etapa de procesado previo que limpia la imagen de un cierto modo muy útil. Por ejemplo, difumina los bordes pixelados de Lincoln, de forma que ya no parece una superposición de cuadrados grises.
Hace unos cuarenta años, los matemáticos empezaron a investigar un equivalente preciso y versátil del recurso humano de entrecerrar los ojos, denominado análisis de ondículas. La técnica sirve para datos numéricos tanto como para imágenes y se introdujo en primer lugar para extraer la estructura de algunas escalas espaciales particulares. Las ondículas permiten ver el bosque y, al mismo tiempo, no reparar en que está compuesto de muchos árboles y arbustos muy retorcidos.
El estímulo original fue teórico en buena medida: eran una técnica estupenda para comprobar teorías científicas sobre cosas como el flujo turbulento de fluidos. Más recientemente, las ondículas han adquirido algunas aplicaciones prosaicas en extremo. En Estados Unidos, el FBI las utiliza para almacenar datos de huellas dactilares por menos dinero y los cuerpos de policía de otros países han seguido su ejemplo. Las ondículas no solo permiten analizar imágenes: también comprimirlas.
En JPEG, las fotografías se comprimen al descartar datos que son menos relevantes para la visión humana. No obstante, pocas veces se representa la información de modo que sea evidente qué bits son menos importantes. Supongamos que alguien quiere mandar un correo electrónico a un amigo con un dibujo en una hoja de papel bastante sucia. Hay muchos puntos negros minúsculos, aparte de la propia imagen. Cuando una persona mira el folio, se da cuenta enseguida de que las marcas son irrelevantes, pero un escáner no lo hace. Se limita a escanear la página línea a línea y representa el dibujo como una cadena larga de señales binarias de blanco y negro. No puede discernir si un punto negro en particular es una parte fundamental de la imagen o algo irrelevante. Algunos podrían ser en realidad la pupila de una vaca en la lejanía o las manchas de la piel de un leopardo.
El principal impedimento es que las señales del escáner no representan los datos de lo que aparece en la hoja de un modo que haga que reconocer y eliminar los elementos no deseados sea fácil. No obstante, hay otras maneras de hacerlo. La transformada de Fourier sustituye una curva por un listado de amplitudes y frecuencias y codifica la misma información de un modo diferente. Y cuando los datos se representan de otra manera, las operaciones que son difíciles o imposibles en un dominio pueden volverse fáciles en el otro. Por ejemplo, se parte de una conversación telefónica, se calcula su transformada de Fourier y se eliminan todas las partes de la señal cuyas componentes tengan frecuencias demasiado altas o bajas para ser captadas por el oído humano. Entonces se aplica la transformada inversa al resultado para recuperar sonidos que, a nuestro juicio, son idénticos a los iniciales. Ahora se pueden mandar más conversaciones por el mismo canal de comunicación. Esto no es factible sobre la señal original sin transformar porque no tiene la «frecuencia» como una característica evidente.
Para ciertos propósitos, la técnica de Fourier tiene un defecto: los senos y cosenos componentes no se acaban nunca. La transformada de Fourier no funciona bien para representar señales compactas. Un pitido breve es una señal sencilla, pero se necesitan cientos de senos y cosenos para reproducir uno que sea moderadamente convincente. El problema no es reproducir bien su forma, sino conseguir que todo lo demás, aparte de este sonido, sea igual a cero. Hay que anular las colas ondulantes de longitud infinita de todos esos senos y cosenos, lo que se hace añadiendo aún más senos y cosenos de frecuencias elevadas, en un intento desesperado para que se cancelen todos los elementos no deseados. En última instancia, la versión transformada acaba por ser más complicada y necesitar más datos que la señal original.
Izquierda: una curva sinusoide no tiene fin. Centro: una ondícula está localizada. Derecha: tres generaciones más.
La transformada de ondículas cambia todo eso al emplear pitidos como sus componentes básicos. Esto no es fácil y no puede hacerse con una señal compacta de este tipo, pero para un matemático es evidente por dónde empezar. Se elige alguna forma particular de pitido para que actúe como una ondícula madre. Se generan ondículas hijas (y nietas, bisnietas..., lo que sea) al deslizar la original hacia los lados a varias posiciones y al expandirla o comprimirla mediante un cambio de escala. Para representar una función más general, se suman múltiplos adecuados de estas componentes en escalas diferentes. Del mismo modo, las curvas sinusoides y cosinusoides básicas de Fourier son «sinusoidículas madre» y todos los senos y cosenos del resto de frecuencias son hijas.
Huellas dactilares. Izquierda: original. Derecha: después de una compresión de datos a 1/26 del tamaño.
Las ondículas están diseñadas para describir datos similares a pitidos de manera eficaz. Es más, debido a que las hijas y las nietas son solo versiones a diferente escala de la madre, es posible centrarse en niveles concretos de detalle. Si se quieren eliminar estructuras de pequeña escala, se quitan todas las ondículas bisnietas en la transformada. Imaginemos representar un leopardo con ondículas: unas pocas grandes para el cuerpo, más pequeñas para los ojos, el morro y las manchas, luego unas minúsculas para los pelos. Para comprimir los datos, pero que no deje de parecer un leopardo, se decide que los pelos individuales no son importantes y se eliminan esas ondículas bisnietas. Quedan las manchas y todavía parece un leopardo. No es posible hacer nada parecido con tanta facilidad (si es que se puede en absoluto) con una transformada de Fourier.
La mayoría de las herramientas matemáticas requeridas para desarrollar las ondículas se conocen en forma abstracta desde hace medio siglo o más, en la rama de Banach del análisis funcional. Cuando aparecieron las ondículas, se descubrió que la poco comprensible maquinaria de esta rama era justo lo que se necesitaba para entenderlas y desarrollarlas para constituir una técnica eficaz. El requisito previo principal para que se pusiera en marcha la máquina del análisis funcional era una forma adecuada de la ondícula madre. Se quiere que todas las hijas sean independientes de esta última desde el punto de vista matemático, sin que se solape la información codificada por la madre ni por las hijas y sin que ninguna parte de estas sea redundante. En la terminología del análisis funcional, la madre y la hija deben ser ortogonales.
A principios de la década de 1980, el geofísico Jean Morlet y el físico matemático Alexander Grossmann desarrollaron una ondícula madre factible. En 1985, el matemático Yves Meyer mejoró la propuesta de Morlet y Grosssman. Ingrid Daubechies hizo en 1987 el descubrimiento que abrió las puertas al desarrollo del campo. Las ondículas madre previas tenían una conveniente apariencia de pitidos, pero todas tenían una cola matemática minúscula que se agitaba hasta el infinito. Daubechies construyó una sin cola en absoluto: fuera de cierto intervalo, es siempre exactamente cero. Su ondícula madre era un pitido genuino, confinado por completo a una región finita del espacio.
*
Las ondículas actúan como una especie de lente de aumento numérica, que se enfoca en características de la información que ocupan escalas espaciales concretas. Es posible emplear esta capacidad para analizar datos y también para comprimirlos. Al manipular la transformada de ondículas, el ordenador «entrecierra sus ojos» sobre la imagen y descarta las escalas de resolución no deseadas. Esto es lo que decidió hacer el FBI en 1993. En ese momento, su base de datos de huellas dactilares contenía 200 millones de entradas, almacenadas como impresiones en tinta sobre fichas de papel, y estaban modernizando sus registros, digitalizando las imágenes y guardando los resultados en un ordenador. Una ventaja evidente es la capacidad de buscar huellas que correspondan a las encontradas en la escena del crimen con rapidez.
Una imagen convencional con suficiente resolución crea un archivo informático que ocupa diez megabytes por cada ficha de huellas dactilares. Por lo tanto, la base de datos del FBI ocupa 2.000 terabytes de memoria. Se reciben al menos 30.000 fichas nuevas diarias, de modo que las necesidades de almacenamiento crecen en 2,4 billones de dígitos binarios al día. El FBI necesitaba con desesperación comprimir la información. Intentaron el formato JPEG, pero es inútil para huellas dactilares (a diferencia de las instantáneas de vacaciones) cuando la «relación de compresión» (la proporción del tamaño de los datos originales respecto a los comprimidos) es alta, en torno a 10:1. Luego, las imágenes sin comprimir eran insatisfactorias debido a «artefactos de límite de bloque», en los que la subdivisión en cuadrados de 8 × 8 dejaba bordes distinguibles. Por supuesto, el método no era de mucha utilidad para el FBI a menos que lograse relaciones de compresión de al menos 10:1. Los artefactos de límite de bloque no son solo un problema estético: limitan seriamente la capacidad de los algoritmos de encontrar huellas correspondientes. Métodos alternativos basados en Fourier también introducen artefactos inaceptables, todos los cuales pueden atribuirse al problema de las «colas» infinitas de los senos y cosenos de Fourier. De modo que Tom Hopper por el FBI y Jonathan Bradley y Chris Brislawn por el Laboratorio Nacional de Los Álamos, decidieron codificar los registros digitalizados de huellas dactilares con ondículas y emplear un método denominado cuantificación escalar de ondículas, o WSQ, por sus siglas en inglés.
En lugar de eliminar la información redundante al crear artefactos de límite de bloque, la WSQ elimina los detalles pequeños de toda la imagen, tan pequeños que son irrelevantes por lo que respecta a la capacidad del ojo de reconocer la estructura de la huella dactilar. En las pruebas del FBI, tres métodos de ondículas diferentes dieron mejores resultados que otros dos de Fourier, tales como el formato JPEG. En conjunto, la WSQ resultó ser el método más razonable. Proporciona una relación de compresión de al menos 15:1, por lo que reduce el coste de la memoria de almacenamiento un 93 %. La WSQ es ahora el estándar para el intercambio y almacenamiento de imágenes de huellas dactilares. La mayoría de los cuerpos de policía estadounidenses la emplean para este fin con archivos comprimidos a 500 píxeles por pulgada. Para huellas de resolución más alta emplean el formato JPEG.2
Las ondículas aparecen casi en todas partes. El equipo de Dennis Healy ha aplicado técnicas de mejora de imágenes basadas en ellas a los escáneres de TC, TEP e IRM. También han empleado ondículas para mejorar las estrategias de adquisición de datos de los escáneres en primer lugar. Ronald Coifman y Victor Wickerhauser las han utilizado para eliminar ruido indeseable de grabaciones. Uno de sus triunfos fue una interpretación en la que Johannes Brahms ejecutaba una de sus propias Danzas húngaras, grabada originalmente en 1889 en un cilindro de cera que en parte se había derretido. Había sido grabada de nuevo en un disco de 78 rpm. Coifman partió de una emisión radiofónica de esta copia, cuando ya la música era virtualmente inaudible sobre el ruido de fondo. Después de la limpieza con ondículas se podía oír lo que tocaba Brahms. No a la perfección, pero se podía oír.
Hace cuarenta años el análisis funcional no era más que otra rama ignota de las matemáticas abstractas, cuyas aplicaciones principales estaban en la física teórica. La aparición de las ondículas lo ha cambiado todo. El análisis funcional proporciona ahora los puntales necesarios para desarrollar nuevos tipos de ondículas con características especiales que las hacen importantes en ciencia y tecnología aplicadas. Tienen un impacto invisible en nuestras vidas cotidianas: en la lucha contra el crimen, en medicina y en la próxima generación de música digital. El día de mañana, conquistarán el mundo.