Qraft

El secreto de que se pueda leer aunque esté sucio - Lo asombrosa que es la tecnología que restaura datos dañados

Una tecnología sorprendente que restaura los datos aunque se dañe el 30%

Aunque tapes con un rotulador una parte del patrón cuadrado en blanco y negro, a veces se puede leer con el móvil. Esto se debe a una tecnología llamada "corrección de errores" (en inglés, error correction), y con el nivel de corrección de errores H se puede restaurar el contenido original aunque se pierda alrededor del 30% de los datos (palabras de código). Sin embargo, esto no significa que "se pueda tapar hasta el 30% de la superficie". Si el daño se concentra en un solo punto o si quedan ocultas partes funcionales como el patrón de búsqueda, deja de poder leerse antes de llegar al 30%.

La corrección de errores es una tecnología básica que se usa no solo en estos patrones, sino en todo tipo de comunicaciones digitales, como los CD, los DVD, los Blu-ray, las comunicaciones con satélites artificiales y la transmisión de datos de las sondas de exploración de las profundidades marinas. En las situaciones en las que los datos pueden dañarse, la corrección de errores está incorporada casi sin excepción.

La idea de enviar "datos de reserva" junto con los originales

La idea básica de la corrección de errores es muy sencilla. Consiste en almacenar "datos de reserva" junto con los datos originales y, cuando los datos originales se dañan, restaurarlos a partir de los datos de reserva.

Pensemos en un ejemplo cotidiano. Cuando le envías a un amigo el mensaje "Mañana a las 3, quedamos delante de la estación", puede que se pierda una parte por la mala cobertura. Si en cambio envías "Mañana a las 3, quedamos delante de la estación. Repito: mañana a las 15:00 nos vemos frente a la estación", aunque se pierda la primera mitad, se puede restaurar el contenido a partir de la segunda. Esta es la forma más simple de corrección de errores. La tecnología real está mucho más refinada matemáticamente, pero la idea de "tener una reserva" es la misma.

Cuatro niveles - ¿Cuánto daño se puede soportar?

En el patrón en blanco y negro, la intensidad de la corrección de errores se puede elegir entre 4 niveles. El nivel L permite restaurar hasta un 7% de daño. El nivel M, hasta un 15%. El nivel Q, hasta un 25%. El nivel H, hasta un 30%. Cuanto mayor es el número, más daño se puede soportar, pero como aumentan en la misma medida los datos de reserva, el patrón en su conjunto se hace más grande.

Por ejemplo, al almacenar la misma URL, lo que con el nivel L cabe en 25 por 25 módulos puede necesitar 33 por 33 módulos con el nivel H. Es decir, "la resistencia al daño" y "el tamaño del patrón" están en una relación de compromiso. Lo habitual es elegir el nivel L o M cuando se quiere imprimir en pequeño, como en una tarjeta de visita, y el nivel Q o H en lugares que se ensucian con facilidad, como los rótulos exteriores.

Poder incrustar un logotipo también es gracias a la corrección de errores

Es probable que hayas visto patrones vistosos con el logotipo de una empresa en el centro. En la zona del logotipo, los datos del patrón quedan completamente tapados, y si aun así se pueden leer es gracias a la corrección de errores. Si la superficie que cubre el logotipo se mantiene dentro del margen tolerado por la corrección de errores, los datos originales se pueden restaurar a partir del resto.

Al incrustar un logotipo, la regla de oro es elegir el nivel de corrección de errores H (30%). Con margen de seguridad, la referencia es limitar la superficie del logotipo a alrededor del 20% del código QR completo, y si se parte del nivel de corrección de errores H, el límite orientativo está en torno al 25%. Si se pone un logotipo con el nivel M (15%), el logotipo por sí solo agota el margen tolerado, y existe el riesgo de que deje de leerse con un poco de suciedad.

Por qué se puede volver al original con los datos de reserva

Se puede volver al original aunque falte una parte porque los datos de reserva, calculados de antemano, están incrustados en relación con la información original. Por ejemplo, si guardas varios números junto con su suma, aunque uno de los números deje de poder leerse, puedes restaurarlo calculando a la inversa a partir de la suma. La corrección de errores es un sistema que lleva esta idea a un nivel muchísimo más avanzado y vuelve a calcular la parte que falta a partir de las pistas que la rodean. Precisamente por eso, aunque se pierda una parte por suciedad o roturas, cotejando la información que queda con los datos de reserva se pueden recuperar los datos originales.

Cómo elegir el nivel en la práctica

La intensidad de la corrección de errores se puede elegir entre 4 niveles, pero cuanto más se refuerza, más datos de reserva hay y, en la misma medida, menos información se puede almacenar. Es decir, la resistencia y la capacidad están en una relación de intercambio. Cuando se va a exponer en interiores solo durante un periodo corto o se va a colocar en un lugar que se puede mantener limpio, basta con un nivel bajo. En cambio, en los rótulos exteriores, en lugares donde es fácil que se ensucie o se raye, o cuando se quiere superponer un logotipo, un nivel alto da tranquilidad. Imaginar dónde y cómo se va a usar y elegir el nivel adecuado a la resistencia necesaria lleva a crear códigos sin desperdicio.

La corrección de errores también trabaja en el espacio

Donde la tecnología de corrección de errores trabaja en los entornos más duros es en el campo de las comunicaciones espaciales. La sonda Voyager 1 de la NASA envía datos desde un lugar situado a más de 24.000 millones de km de la Tierra. A esta distancia la señal se vuelve extremadamente débil, y el ruido de los rayos cósmicos daña los datos con frecuencia.

La tecnología de corrección de errores que usa la Voyager se llama "código Reed-Solomon", y la misma tecnología se usa también en el patrón en blanco y negro. Que esta tecnología, desarrollada en la década de 1960, siga en uso hoy, 60 años después, tanto en la exploración espacial como en los móviles es un buen ejemplo de la universalidad de las matemáticas. Dentro de un patrón cotidiano se esconden las mismas matemáticas que en la tecnología espacial. Pensándolo así, ¿no cambia un poco tu forma de verlo?